.pf{--pf-radius: 16px;--pf-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--pf-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace}.pf[data-theme=dark]{--pf-bg: #141d3d;--pf-bg-soft: #1a2450;--pf-surface: rgba(255, 255, 255, .06);--pf-surface-hover: rgba(255, 255, 255, .1);--pf-border: rgba(255, 255, 255, .12);--pf-text: #eef2fc;--pf-text-2: #a9b4d6;--pf-text-3: #74819f;--pf-primary: #4cc7fa;--pf-primary-2: #97a2ff;--pf-accent-teal: #3ce0cb;--pf-accent-orange: #fca45c;--pf-accent-indigo: #b3a1ff;--pf-accent-pink: #f88bc6;--pf-heat-0: rgba(255, 255, 255, .08);--pf-heat-1: rgba(76, 199, 250, .28);--pf-heat-2: rgba(76, 199, 250, .52);--pf-heat-3: rgba(76, 199, 250, .78);--pf-heat-4: #4cc7fa;--pf-nav-bg: rgba(17, 25, 54, .72);--pf-shadow: 0 12px 40px rgba(4, 9, 28, .42);--pf-shine: rgba(255, 255, 255, .09);--pf-code-bg: #101830;--pf-planet-1: #a7ecff;--pf-planet-2: #4cc7fa;--pf-planet-3: #4d64e8;--pf-planet-4: #121c44;--pf-star: #eaf4ff;--pf-ring-1: #4cc7fa;--pf-ring-2: #b3a1ff;--pf-ring-3: #3ce0cb;--pf-moon-core: #ffffff;--pf-moon-mid: #3ce0cb;--pf-moon-out: #4cc7fa;--pf-rim: rgba(60, 224, 203, .38);--pf-shade: rgba(5, 9, 28, .34)}.pf[data-theme=light]{--pf-bg: #f7f9fc;--pf-bg-soft: #eef2f8;--pf-surface: #ffffff;--pf-surface-hover: #f3f6fb;--pf-border: #e3e9f2;--pf-text: #17233b;--pf-text-2: #51617d;--pf-text-3: #8a97ad;--pf-primary: #0284c7;--pf-primary-2: #6366f1;--pf-accent-teal: #0d9488;--pf-accent-orange: #ea580c;--pf-accent-indigo: #7c3aed;--pf-accent-pink: #db2777;--pf-heat-0: #edf1f7;--pf-heat-1: #bae6fd;--pf-heat-2: #7dd3fc;--pf-heat-3: #38bdf8;--pf-heat-4: #0284c7;--pf-nav-bg: rgba(247, 249, 252, .8);--pf-shadow: 0 12px 32px rgba(23, 42, 79, .08);--pf-shine: rgba(2, 132, 199, .08);--pf-code-bg: #101828;--pf-planet-1: #eef9ff;--pf-planet-2: #7fc5ec;--pf-planet-3: #2e7cb8;--pf-planet-4: #16405f;--pf-star: #5aa9de;--pf-ring-1: #0ea5e9;--pf-ring-2: #0d9488;--pf-ring-3: #0369a1;--pf-moon-core: #ffffff;--pf-moon-mid: #0d9488;--pf-moon-out: #0284c7;--pf-rim: rgba(56, 189, 248, .5);--pf-shade: rgba(23, 42, 79, .22)}.pf,.pf *,.pf *:before,.pf *:after{box-sizing:border-box}.pf{min-height:100vh;background:var(--pf-bg);color:var(--pf-text);font-family:var(--pf-font);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s;isolation:isolate}.pf ::-moz-selection{background:#38bdf84d}.pf ::selection{background:#38bdf84d}.pf a{color:inherit;text-decoration:none}.pf ul{list-style:none}.pf .container{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(20px,3.4vw,36px)}@media(min-width:1700px){.pf .container{max-width:1320px}}.pf-rails{display:none}@media(min-width:1700px){.pf-rails{display:block}.pf-rail{position:fixed;top:108px;bottom:52px;width:1px;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(232,237,247,.16) 26%,rgba(232,237,247,.16) 74%,transparent 100%)}.pf-rail--l{left:34px}.pf-rail--r{right:34px}.pf-rail:before,.pf-rail:after{content:"";position:absolute;left:-1.5px;width:4px;height:4px;background:#e8edf74d;transform:rotate(45deg)}.pf-rail:before{top:22%}.pf-rail:after{bottom:22%}}.pf .pf-aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.pf .pf-aurora:before,.pf .pf-aurora:after{content:"";position:absolute;width:44vw;height:44vw;border-radius:50%;filter:blur(90px);opacity:.28}.pf .pf-aurora:before{left:-16vw;top:14vh;background:radial-gradient(circle,var(--pf-accent-teal),transparent 62%);animation:pf-aurora-a 24s ease-in-out infinite alternate}.pf .pf-aurora:after{right:-16vw;top:46vh;background:radial-gradient(circle,var(--pf-primary-2),transparent 62%);animation:pf-aurora-b 30s ease-in-out infinite alternate}@keyframes pf-aurora-a{to{transform:translate(6vw,10vh) scale(1.15)}}@keyframes pf-aurora-b{to{transform:translate(-5vw,-12vh) scale(1.2)}}.pf[data-theme=light] .pf-aurora:before,.pf[data-theme=light] .pf-aurora:after{opacity:.12}.pf .pf-spotlight{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(620px circle at var(--sx, 50vw) var(--sy, 38vh),color-mix(in srgb,var(--pf-primary) 8%,transparent),transparent 62%);opacity:0;transition:opacity .8s ease}.pf.has-pointer .pf-spotlight{opacity:1}.pf .border-beam{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;border-radius:inherit;padding:var(--beam-w, 1.5px);pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.pf .beam-path{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.pf .beam-glow{position:absolute;left:0;top:0;height:40px;border-radius:999px;transform-origin:100% 50%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--beam-color, var(--accent, var(--pf-primary))) 55%,transparent) 45%,var(--beam-color, var(--accent, var(--pf-primary))));box-shadow:0 0 18px color-mix(in srgb,var(--beam-color, var(--accent, var(--pf-primary))) 60%,transparent);will-change:transform}.pf .scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--pf-primary),var(--pf-primary-2),var(--pf-accent-teal));z-index:1200;border-radius:0 3px 3px 0;transition:width .1s linear}.pf .nav{position:sticky;top:0;z-index:1100;background:var(--pf-nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--pf-border);transition:box-shadow .3s,background .3s}.pf .nav.scrolled{box-shadow:0 8px 30px #0000002e}.pf .nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.pf .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:.3px}.pf .logo-dot{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pf-primary),var(--pf-primary-2));color:#fff;font-size:14px;font-weight:800;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.pf .logo:hover .logo-dot{transform:rotate(-10deg) scale(1.1)}.pf .nav-links{display:flex;gap:4px;align-items:center}.pf .nav-links a{position:relative;padding:7px 14px;border-radius:999px;font-size:14px;color:var(--pf-text-2);transition:color .2s,background .2s,transform .2s}.pf .nav-links a:hover{color:var(--pf-text);background:var(--pf-surface);transform:translateY(-1px)}.pf .nav-links a.active{color:var(--pf-text);background:var(--pf-surface)}.pf .nav-actions{display:flex;align-items:center;gap:10px}.pf .icon-btn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--pf-border);background:transparent;color:var(--pf-text-2);cursor:pointer;transition:.2s}.pf .icon-btn:hover{color:var(--pf-text);background:var(--pf-surface);transform:translateY(-2px)}.pf[data-theme=dark] .icon-sun{display:block}.pf[data-theme=dark] .icon-moon,.pf[data-theme=light] .icon-sun{display:none}.pf[data-theme=light] .icon-moon{display:block}.pf .hero{position:relative;padding:96px 0 88px;overflow:hidden}.pf .blob{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;opacity:.5}.pf[data-theme=dark] .blob{opacity:.62}.pf .blob-1{width:480px;height:480px;left:-120px;top:-140px;background:radial-gradient(circle,rgba(76,199,250,.4),transparent 65%);animation:pf-drift1 16s ease-in-out infinite alternate}.pf .blob-2{width:560px;height:560px;right:-160px;top:-80px;background:radial-gradient(circle,rgba(151,162,255,.38),transparent 65%);animation:pf-drift2 20s ease-in-out infinite alternate}.pf .blob-3{width:420px;height:420px;left:34%;bottom:-220px;background:radial-gradient(circle,rgba(60,224,203,.34),transparent 65%);animation:pf-drift3 24s ease-in-out infinite alternate}@keyframes pf-drift1{to{transform:translate(90px,60px) scale(1.15)}}@keyframes pf-drift2{to{transform:translate(-70px,90px) scale(1.1)}}@keyframes pf-drift3{to{transform:translate(60px,-70px) scale(1.18)}}.pf .grid-floor{position:absolute;left:-25%;right:-25%;bottom:-30px;height:52%;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--pf-primary) 22%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pf-primary) 22%,transparent) 1px,transparent 1px);background-size:46px 46px;transform:perspective(520px) rotateX(63deg);transform-origin:center top;animation:pf-grid-move 2.6s linear infinite;-webkit-mask-image:linear-gradient(to bottom,transparent 2%,#000 34%,transparent 96%);mask-image:linear-gradient(to bottom,transparent 2%,#000 34%,transparent 96%)}@keyframes pf-grid-move{to{background-position:0 46px,0 0}}.pf .hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.pf .hero-grid>div:first-child{transform:translate3d(calc(var(--nx, 0) * -10px),calc(var(--ny, 0) * -6px),0)}.pf .rise{animation:pf-rise .8s cubic-bezier(.22,1,.36,1) both}.pf .d1{animation-delay:.05s}.pf .d2{animation-delay:.16s}.pf .d3{animation-delay:.27s}.pf .d4{animation-delay:.38s}@keyframes pf-rise{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.pf .hero-hello{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:7px 15px;border-radius:999px;border:1px solid var(--pf-border);background:var(--pf-surface);color:var(--pf-text-2);font-size:14px}.pf .hero-hello em{font-style:normal;display:inline-block;transform-origin:70% 70%;animation:pf-wave 2.6s ease-in-out infinite}@keyframes pf-wave{0%,55%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(14deg)}50%{transform:rotate(-4deg)}}.pf .hero h1{font-size:clamp(38px,5vw,70px);line-height:1.12;font-weight:800;letter-spacing:-.5px;margin:0}.pf .grad-text{display:inline-block;background:linear-gradient(90deg,var(--pf-primary),var(--pf-primary-2),var(--pf-accent-teal),var(--pf-primary));background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pf-shimmer 5s linear infinite}@keyframes pf-shimmer{to{background-position:250% center}}.pf .hero-sub{margin:22px 0 28px;font-size:16.5px;color:var(--pf-text-2);max-width:500px}.pf .chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.pf .chip{padding:5px 13px;border-radius:999px;font-size:13px;border:1px solid var(--pf-border);background:var(--pf-surface);color:var(--pf-text-2);transition:transform .25s,color .25s,border-color .25s}.pf .chip:hover{transform:translateY(-3px);color:var(--pf-primary);border-color:var(--pf-primary)}.pf .btn-row{display:flex;gap:14px;flex-wrap:wrap}.pf .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;font-size:15px;font-weight:600;border:1px solid var(--pf-border);cursor:pointer;transition:.25s;line-height:1.4;font-family:inherit}.pf .btn-primary{background:linear-gradient(135deg,var(--pf-primary),var(--pf-primary-2));border:none;color:#fff;animation:pf-glow 3s ease-in-out infinite}@keyframes pf-glow{50%{box-shadow:0 10px 36px #5082f880}}.pf .btn-primary:hover{transform:translateY(-3px) scale(1.02)}.pf .btn-ghost{background:var(--pf-surface);color:var(--pf-text)}.pf .btn-ghost:hover{background:var(--pf-surface-hover);transform:translateY(-3px)}.pf .btn svg{width:17px;height:17px;transition:transform .25s}.pf .btn:hover svg{transform:translate(4px)}.pf .planet-wrap{display:grid;place-items:center;gap:30px;transform:translate3d(calc(var(--nx, 0) * 26px),calc(var(--ny, 0) * 18px),0)}.pf .planet-float{animation:pf-float-y 7s ease-in-out infinite;animation-delay:.45s}@keyframes pf-float-y{50%{transform:translateY(-14px)}}.pf .fx-scene{--fx: clamp(300px, 26vw, 420px);position:relative;width:var(--fx);aspect-ratio:1;animation:pf-rise-in 1s .45s cubic-bezier(.22,1,.36,1) both}@keyframes pf-rise-in{0%{opacity:0;transform:translate(50px) rotateY(-30deg)}to{opacity:1;transform:none}}.pf .fx-canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 0 46px color-mix(in srgb,var(--pf-primary) 20%,transparent))}@media(prefers-reduced-motion:reduce){.pf .planet-float{animation:none}}.pf .planet-shadow{width:52%;height:24px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.45),transparent 70%);filter:blur(6px);animation:pf-shadow-pulse 7s ease-in-out infinite}@keyframes pf-shadow-pulse{50%{transform:scaleX(.82);opacity:.6}}.pf .marquee{overflow:hidden;padding:18px 0;border-top:1px solid var(--pf-border);border-bottom:1px solid var(--pf-border);background:var(--pf-bg-soft);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.pf .marquee-track{display:flex;width:-moz-max-content;width:max-content;animation:pf-marquee 36s linear infinite}.pf .marquee:hover .marquee-track{animation-play-state:paused}@keyframes pf-marquee{to{transform:translate(-50%)}}.pf .marquee-half{display:flex;align-items:center;gap:44px;padding-right:44px}.pf .mq-item{display:flex;align-items:center;gap:9px;white-space:nowrap;font-family:var(--pf-mono);font-size:14px;color:var(--pf-text-2)}.pf .mq-item i{width:7px;height:7px;border-radius:50%;background:var(--c, var(--pf-primary));opacity:.85}.pf section{padding:84px 0}.pf .sec-head{margin-bottom:44px}.pf .sec-tag{display:inline-block;font-size:13px;font-weight:600;letter-spacing:1.5px;color:var(--pf-primary);margin-bottom:10px;text-transform:uppercase}.pf .sec-head h2{font-size:clamp(26px,3.4vw,36px);font-weight:800;letter-spacing:-.4px;margin:0}.pf .sec-head p{margin-top:10px;color:var(--pf-text-2);max-width:640px;font-size:15.5px}.pf .skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.pf .skill-cell{perspective:1100px;height:216px;cursor:pointer}.pf .skill-card{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.3,1.1,.4,1)}.pf .skill-cell:hover .skill-card,.pf .skill-cell.flipped .skill-card{transform:rotateY(180deg)}.pf .skill-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--pf-radius);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:22px;text-align:center;border:1px solid var(--pf-border);background:var(--pf-surface)}.pf .skill-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-size:25px;background:color-mix(in srgb,var(--accent, var(--pf-primary)) 14%,transparent)}.pf .skill-face h3{font-size:17.5px;font-weight:700;margin:0}.pf .skill-face:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--accent, var(--pf-primary)) 75%,transparent),transparent 65%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.pf .skill-face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(300px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--accent, var(--pf-primary)) 15%,transparent),transparent 62%)}.pf .skill-cell:hover .skill-face:before,.pf .skill-cell:hover .skill-face:after{opacity:1}.pf .skill-back:before{background:radial-gradient(240px circle at calc(100% - var(--mx, 50%)) var(--my, 50%),color-mix(in srgb,var(--accent, var(--pf-primary)) 75%,transparent),transparent 65%)}.pf .skill-back:after{background:radial-gradient(300px circle at calc(100% - var(--mx, 50%)) var(--my, 50%),color-mix(in srgb,var(--accent, var(--pf-primary)) 15%,transparent),transparent 62%)}.pf .skill-back{transform:rotateY(180deg);background:color-mix(in srgb,var(--accent, var(--pf-primary)) 9%,var(--pf-bg-soft));border-color:color-mix(in srgb,var(--accent, var(--pf-primary)) 40%,transparent)}.pf .skill-tags{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.pf .skill-tags span{font-size:12.5px;padding:4px 11px;border-radius:999px;background:var(--pf-bg-soft);border:1px solid var(--pf-border);color:var(--pf-text-2)}.pf .skill-cell.flipped .skill-back span{animation:pf-tag-in .45s both}.pf .skill-cell.flipped .skill-back span:nth-child(2){animation-delay:.06s}.pf .skill-cell.flipped .skill-back span:nth-child(3){animation-delay:.12s}.pf .skill-cell.flipped .skill-back span:nth-child(4){animation-delay:.18s}.pf .skill-cell.flipped .skill-back span:nth-child(n+5){animation-delay:.24s}@keyframes pf-tag-in{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}.pf .proj-rail{display:flex;gap:6px;width:-moz-max-content;width:max-content;max-width:100%;margin-bottom:18px;padding:6px;border:1px solid var(--pf-border);border-radius:999px;background:var(--pf-surface);overflow-x:auto;scrollbar-width:none}.pf .proj-rail::-webkit-scrollbar{display:none}.pf .rail-btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:0;border-radius:999px;background:transparent;color:var(--pf-text-2);font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .25s,transform .25s}.pf .rail-btn:hover{color:var(--pf-text);transform:translateY(-1px)}.pf .rail-btn.active{color:var(--pf-text)}.pf .rail-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,var(--pf-surface-hover));border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 22%,transparent)}.pf .rail-icon,.pf .rail-label{position:relative;z-index:1}.pf .rail-icon{font-size:16px;line-height:1}.pf .stage-wrap{position:relative;width:100%;aspect-ratio:16 / 9;min-height:480px;max-height:min(720px,76vh)}.pf .stage{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;overflow:hidden;border:1px solid var(--pf-border);background:radial-gradient(90% 80% at 50% 110%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 60%),radial-gradient(60% 50% at 50% -10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 60%),var(--pf-bg-soft);box-shadow:var(--pf-shadow);isolation:isolate;transition:background .5s}.pf .stage.can-enter{cursor:pointer}.pf .stage-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;transition:opacity .32s ease}.pf .stage-scene canvas{display:block;width:100%!important;height:100%!important}.pf .stage-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(75% 75% at 50% 50%,transparent 60%,color-mix(in srgb,var(--pf-bg) 55%,transparent) 100%)}.pf .stage-device-col{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;padding:46px 9% 58px;pointer-events:none;container-type:size}.pf .device-anim{position:relative;width:100%;height:100%;display:grid;place-items:center;animation:pf-device-in .5s cubic-bezier(.22,1,.36,1) both}@keyframes pf-device-in{0%{opacity:0;transform:translateY(26px) scale(.965)}}.pf .device{position:relative;z-index:1;pointer-events:auto;transform-style:preserve-3d;will-change:transform}.pf .stage[data-device=desktop] .device{width:min(100%,152cqh);aspect-ratio:16 / 10.5}.pf .stage[data-device=phone] .device{height:100%;width:auto;aspect-ratio:9 / 19.2;max-width:100%}.pf .device-shadow{position:absolute;left:18%;right:18%;bottom:1%;height:10%;z-index:0;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 40%,rgba(0,0,0,.6)),transparent 70%);filter:blur(16px);pointer-events:none}.pf .chrome{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#0d1322;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px #00000073,inset 0 0 0 1px #ffffff0a;transition:box-shadow .3s}.pf .stage.is-fullscreen .chrome{box-shadow:0 0 0 2px var(--accent),0 30px 80px #00000073}.pf .chrome-bar{flex:none;display:flex;align-items:center;gap:12px;height:38px;padding:0 14px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.07)}.pf .chrome-dots{display:flex;gap:6px}.pf .chrome-dots i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.pf .chrome-dots i:nth-child(2){background:#febc2e}.pf .chrome-dots i:nth-child(3){background:#28c840}.pf .chrome-url{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;max-width:62%;height:24px;margin:0 auto;padding:0 12px;border-radius:7px;background:#ffffff0f;color:#9aa7bd;font-family:var(--pf-mono);font-size:12px;white-space:nowrap;overflow:hidden}.pf .chrome-url b{color:#cfd9f2;font-weight:600}.pf .chrome-path{opacity:.7;overflow:hidden;text-overflow:ellipsis}.pf .chrome-tabs{flex:none;display:flex;gap:4px;padding:6px 10px 0;background:#ffffff08;overflow-x:auto;scrollbar-width:none}.pf .chrome-tabs::-webkit-scrollbar{display:none}.pf .chrome-tab{padding:6px 13px;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;background:transparent;color:#8b98b3;font:inherit;font-size:12.5px;white-space:nowrap;cursor:pointer;transition:.2s}.pf .chrome-tab:hover{color:#e8edf7;background:#ffffff0d}.pf .chrome-tab.active{color:#fff;background:#141c30;border-color:#ffffff1a}.pf .device-screen{position:relative;flex:1;min-height:0;overflow:hidden;background:#fff}.pf .device-frame{position:absolute;left:0;top:0;display:block;border:0;background:#fff;transform-origin:0 0}.pf .device-screen[data-interactive=false] .device-frame{pointer-events:none}.pf .device-gate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border:0;padding:0;background:transparent;cursor:pointer}.pf .device-gate:focus-visible{outline:none}.pf .device-gate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 65%,transparent),inset 0 0 44px color-mix(in srgb,var(--accent) 18%,transparent);opacity:0;transition:opacity .25s}.pf .device-gate:hover:before,.pf .device-gate:focus-visible:before{opacity:1}.pf .screen-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;gap:14px;padding:18px;background:#0f1626}.pf .sh-top{width:40%;height:26px;border-radius:8px;background:#ffffff14}.pf .sh-grid{display:flex;flex-wrap:wrap;gap:10px}.pf .sh-grid i{position:relative;display:block;height:12px;border-radius:6px;background:color-mix(in srgb,var(--accent) 32%,rgba(255,255,255,.08));overflow:hidden}.pf .sh-grid i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:translate(-100%);animation:pf-block-shine 2.4s ease-in-out infinite}@keyframes pf-block-shine{60%,to{transform:translate(100%)}}.pf .sh-label{margin-top:auto;font-family:var(--pf-mono);font-size:12.5px;color:#8b98b3}.pf .screen-poster{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.pf .screen-poster.splash{color:#fff;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 60%),linear-gradient(180deg,#141c30,#0a0f1e)}.pf .poster-icon{width:40%;max-width:160px;aspect-ratio:1;border-radius:28%;-o-object-fit:cover;object-fit:cover;box-shadow:0 20px 50px #00000073;animation:pf-float-y 6s ease-in-out infinite}.pf .screen-poster strong{font-size:20px;font-weight:800}.pf .poster-badge{padding:6px 12px;border-radius:999px;font-size:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#ffffffeb}.pf .screen-poster.shot{padding:0;background:#0f1626}.pf .screen-poster.shot img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;opacity:.85}.pf .poster-badge.warn{position:absolute;left:50%;bottom:14px;transform:translate(-50%);max-width:92%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fb923c2e;border-color:#fb923c73;color:#fdba74}.pf .chrome-phone{padding:12px;border-radius:44px;background:#0b0f1a;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px #00000080,inset 0 0 0 2px #1b2235}.pf .chrome-phone .device-screen{border-radius:34px}.pf .phone-notch{position:absolute;top:12px;left:50%;z-index:4;width:32%;height:24px;transform:translate(-50%);border-radius:0 0 16px 16px;background:#0b0f1a;pointer-events:none}.pf .phone-home{position:absolute;left:50%;bottom:18px;z-index:4;width:36%;height:5px;transform:translate(-50%);border-radius:3px;background:#ffffff8c;pointer-events:none}.pf .stage-callout{position:absolute;z-index:3;pointer-events:none}.pf .callout-enter{display:inline-block;animation:pf-callout-in .5s cubic-bezier(.22,1,.36,1) both}@keyframes pf-callout-in{0%{opacity:0;transform:translateY(14px) scale(.8)}}.pf .callout-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;font-size:13px;font-weight:600;white-space:nowrap;color:var(--pf-text);background:color-mix(in srgb,var(--pf-surface) 70%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--pf-border));backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);box-shadow:0 10px 30px #00000040,inset 0 1px #ffffff14;animation:pf-callout-float 6s ease-in-out infinite}.pf .stage-callout.far .callout-chip{font-size:12px;opacity:.85}@keyframes pf-callout-float{50%{transform:translateY(-9px)}}.pf .stage-toolbar{position:absolute;top:14px;right:14px;z-index:5;display:flex;gap:8px}.pf .tool-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border:1px solid var(--pf-border);border-radius:10px;background:color-mix(in srgb,var(--pf-bg) 72%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--pf-text);font:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:.2s}.pf .tool-btn:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent)}.pf .tool-btn.primary{border:0;color:#fff;background:linear-gradient(135deg,var(--pf-primary),var(--pf-primary-2))}.pf .tool-btn.primary:hover{color:#fff;filter:brightness(1.08)}.pf .tool-btn.ghost{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.pf .tool-btn kbd{padding:1px 6px;border-radius:5px;font-family:var(--pf-mono);font-size:11px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15)}.pf .stage-legend{position:absolute;left:16px;bottom:14px;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--pf-border);background:color-mix(in srgb,var(--pf-bg) 65%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-family:var(--pf-mono);font-size:12px;color:var(--pf-text-2)}.pf .legend-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pf-pulse 2s ease-in-out infinite}.pf .legend-sep{opacity:.5}@keyframes pf-pulse{50%{opacity:.45}}.pf .stage-wrap:has(>.stage.is-fullscreen){transform:none!important;opacity:1!important;transition:none!important}.pf .stage.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;border:0;border-radius:0;background:color-mix(in srgb,var(--pf-bg) 93%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.pf .stage.is-fullscreen .stage-device-col{padding:66px clamp(16px,4vw,48px) 52px}.pf .stage.is-fullscreen .device-anim{animation:pf-fs-in .45s cubic-bezier(.22,1,.36,1) both}@keyframes pf-fs-in{0%{opacity:0;transform:scale(.94) translateY(16px)}}.pf .stage.is-fullscreen .stage-toolbar{top:18px;right:22px}.pf .stage.is-fullscreen .stage-legend{left:24px;bottom:20px}.pf .stage.is-fullscreen .border-beam{display:none}.pf .stage-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-top:22px;padding:26px 28px;border:1px solid var(--pf-border);border-radius:20px;background:var(--pf-surface);transition:border-color .3s}.pf .stage-caption:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--pf-border))}.pf .caption-main{flex:1;min-width:0}.pf .project-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.pf .project-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:color-mix(in srgb,var(--accent) 16%,transparent)}.pf .stage-caption h3{font-size:21px;font-weight:800;margin:0}.pf .project-desc{color:var(--pf-text-2);font-size:14.5px;margin:0 0 16px}.pf .tech-row{display:flex;flex-wrap:wrap;gap:7px}.pf .tech-row span{font-size:12.5px;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:500;transition:transform .2s,filter .2s}.pf .tech-row span:hover{transform:translateY(-2px) scale(1.05);filter:brightness(1.15)}.pf .caption-side{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.pf .blog-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.pf .post-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pf .post{position:relative;overflow:hidden;padding:26px 26px 22px;border-radius:var(--pf-radius);border:1px solid var(--pf-border);background:var(--pf-surface);display:flex;flex-direction:column;gap:12px;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;cursor:pointer}.pf .post:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cat, var(--pf-primary));transform:scaleY(0);transform-origin:top;transition:transform .35s ease}.pf .post:hover{--lift: -6px;border-color:color-mix(in srgb,var(--cat, var(--pf-primary)) 45%,var(--pf-border));background:var(--pf-surface-hover);box-shadow:0 16px 36px #0000002e}.pf .post:hover:before{transform:scaleY(1)}.pf .post.reveal.in{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px))}.pf .post.tilt-on{transition:transform .16s ease-out,border-color .3s,background .3s,box-shadow .3s}.pf .post:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(340px circle at var(--gx, 50%) var(--gy, 50%),color-mix(in srgb,var(--cat, var(--pf-primary)) 11%,transparent),transparent 60%)}.pf .post:hover:after{opacity:1}.pf .post-meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--pf-text-3)}.pf .post-cat{padding:3px 10px;border-radius:999px;font-weight:600;background:color-mix(in srgb,var(--cat, var(--pf-primary)) 13%,transparent);color:var(--cat, var(--pf-primary))}.pf .post h3{font-size:17.5px;font-weight:700;line-height:1.45;transition:color .25s;margin:0}.pf .post:hover h3{color:var(--cat, var(--pf-primary))}.pf .post p{font-size:14px;color:var(--pf-text-2);flex:1;margin:0}.pf .post-more{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--pf-primary)}.pf .post-more svg{width:15px;height:15px;transition:transform .2s}.pf .post:hover .post-more svg{transform:translate(5px)}.pf .github-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}.pf .gh-panel{padding:26px;border-radius:20px;border:1px solid var(--pf-border);background:var(--pf-surface);transition:transform .3s ease,box-shadow .3s}.pf .gh-panel:hover{transform:translateY(-4px);box-shadow:var(--pf-shadow)}.pf .gh-panel h3{font-size:16px;font-weight:700;margin:0 0 18px;display:flex;align-items:center;gap:9px}.pf .gh-panel h3 svg{width:18px;height:18px;color:var(--pf-primary)}.pf .heatmap-wrap{overflow-x:auto;padding-bottom:6px}.pf .heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);gap:3.5px;width:-moz-max-content;width:max-content}.pf .hm-cell{width:12px;height:12px;border-radius:3px;background:var(--pf-heat-0);opacity:0;transform:scale(.4) rotate(25deg);transition:opacity .4s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}.pf .heatmap.live .hm-cell{opacity:1;transform:none}.pf .hm-legend{display:flex;align-items:center;gap:5px;margin-top:14px;font-size:12px;color:var(--pf-text-3)}.pf .hm-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.pf .gh-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.pf .gh-stat{padding:14px 16px;border-radius:12px;background:var(--pf-bg-soft);border:1px solid var(--pf-border);transition:transform .25s,border-color .25s}.pf .gh-stat:hover{transform:translateY(-3px);border-color:var(--pf-primary)}.pf .gh-stat b{font-size:20px;font-weight:800;display:block}.pf .gh-stat span{font-size:12.5px;color:var(--pf-text-3)}.pf .repo-card{border:1px solid var(--pf-border);border-radius:14px;padding:20px;background:var(--pf-bg-soft);transition:transform .25s,border-color .25s,box-shadow .25s;cursor:pointer;display:block}.pf .repo-card:hover{border-color:color-mix(in srgb,var(--pf-primary) 50%,var(--pf-border));transform:translateY(-4px) scale(1.01);box-shadow:0 12px 28px #0003}.pf .repo-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.pf .repo-head svg{width:17px;height:17px;color:var(--pf-text-2)}.pf .repo-head h4{font-size:15.5px;font-weight:700;color:var(--pf-primary);margin:0}.pf .repo-tag{margin-left:auto;font-size:11.5px;padding:2px 9px;border-radius:999px;border:1px solid var(--pf-border);color:var(--pf-text-3)}.pf .repo-card p{font-size:13.5px;color:var(--pf-text-2);margin-bottom:14px}.pf .repo-meta{display:flex;align-items:center;gap:16px;font-size:12.5px;color:var(--pf-text-3)}.pf .lang-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px}.pf .repo-meta span{display:inline-flex;align-items:center}.pf .repo-meta svg{width:14px;height:14px;margin-right:4px}.pf .repo-list{display:flex;flex-direction:column;gap:14px}.pf .github-cta{margin-top:18px}.pf .about-card{position:relative;border:1px solid var(--pf-border);border-radius:24px;padding:52px 48px;background:radial-gradient(90% 140% at 100% 0%,rgba(151,162,255,.2),transparent 55%),radial-gradient(70% 120% at 0% 100%,rgba(76,199,250,.17),transparent 55%),var(--pf-surface);display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}.pf .about-card h2{font-size:clamp(24px,3vw,32px);font-weight:800;margin:0}.pf .about-sub{color:var(--pf-text-2);font-size:15px;margin:10px 0 0}.pf .contact-list{display:flex;flex-direction:column;gap:12px;min-width:320px;flex:1;max-width:460px}.pf .contact-list a,.pf .contact-list button{position:relative;display:flex;align-items:center;gap:13px;padding:15px 18px;border:1px solid var(--pf-border);border-radius:13px;background:var(--pf-surface);font-size:14.5px;font-weight:600;font-family:inherit;color:inherit;text-align:left;cursor:pointer;transition:.25s}.pf .contact-list a:hover,.pf .contact-list button:hover{transform:translate(6px);border-color:var(--pf-primary);box-shadow:0 8px 24px #00000026}.pf .contact-list a svg,.pf .contact-list button svg{width:19px;height:19px;color:var(--pf-primary);flex:none;transition:transform .25s}.pf .contact-list a:hover svg,.pf .contact-list button:hover svg{transform:scale(1.2)}.pf .contact-list a small,.pf .contact-list button small{margin-left:auto;color:var(--pf-text-3);font-weight:400;font-size:12.5px}.pf .wx-block{display:flex;flex-direction:column}.pf .wx-qr{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .46s var(--pf-ease),opacity .32s ease}.pf .wx-qr.open{grid-template-rows:1fr;opacity:1}.pf .wx-qr-inner{overflow:hidden}.pf .wx-qr-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;align-items:center;margin-top:10px;padding:12px 16px 12px 12px;border:1px solid var(--pf-border);border-radius:16px;background:color-mix(in srgb,var(--pf-bg-soft) 72%,transparent)}.pf .wx-qr-card img{display:block;width:118px;height:118px;border-radius:10px;background:#fff;-o-object-fit:contain;object-fit:contain}.pf .wx-qr-text{display:flex;flex-direction:column;gap:6px}.pf .wx-qr-text strong{font-size:14.5px;font-weight:700;color:var(--pf-text)}.pf .wx-qr-text span{font-size:12.5px;line-height:1.7;color:var(--pf-text-3)}.pf .wx-block.open .wx-item{border-color:var(--pf-primary)}@media(max-width:640px){.pf .wx-qr-card{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px 14px 10px 10px}.pf .wx-qr-card img{width:96px;height:96px}}.pf footer{border-top:1px solid var(--pf-border);padding:34px 0 40px}.pf .foot-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--pf-text-3);font-size:13.5px}.pf .foot-links{display:flex;gap:20px;align-items:center}.pf .foot-links a{position:relative;transition:color .2s}.pf .foot-links a:hover{color:var(--pf-text)}.pf .reveal{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}.pf .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.pf .reveal{opacity:1;transform:none;transition:none}.pf .pf-aurora,.pf .pf-spotlight{display:none}.pf .planet-wrap,.pf .hero-grid>div:first-child,.pf .post.reveal.in{transform:none}.pf *,.pf *:before,.pf *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:1280px){.pf .skill-cell{height:232px}}@media(max-width:1023px){.pf .pf-aurora{display:none}}@media(max-width:960px){.pf .hero-grid{grid-template-columns:1fr;gap:44px}.pf .planet-wrap{order:-1}.pf .skills-grid{grid-template-columns:repeat(2,1fr)}.pf .stage-wrap{aspect-ratio:4 / 3;min-height:420px}.pf .stage-callout{display:none}.pf .stage-device-col{padding:42px 4% 50px}.pf .stage-caption{flex-direction:column}.pf .caption-side{flex-direction:row;align-items:center;gap:16px}.pf .github-grid{grid-template-columns:1fr}.pf .about-card{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.pf .nav-links{display:none}.pf .hero{padding:64px 0 56px}.pf .skills-grid{grid-template-columns:1fr}.pf .skill-cell{height:200px}.pf .post-list{grid-template-columns:1fr}.pf .proj-rail{width:100%;border-radius:16px}.pf .stage-wrap{aspect-ratio:auto;height:520px;min-height:0}.pf .stage{border-radius:18px}.pf .stage-device-col{padding:50px 3% 36px}.pf .stage-legend{display:none}.pf .stage-toolbar{top:10px;right:10px;gap:6px}.pf .tool-btn{height:30px;padding:0 10px;font-size:12px}.pf .stage-caption{padding:22px 20px}.pf section{padding:60px 0}}.pf .sig-status{display:flex;align-items:center;gap:clamp(14px,2.4vw,28px);flex-wrap:wrap;font-family:var(--pf-mono);font-size:12px;letter-spacing:.05em;color:var(--pf-text-3);border:1px solid var(--pf-border);border-radius:14px;background:var(--pf-surface);padding:14px 22px;margin-bottom:18px}.pf .sig-status b{color:var(--pf-text);font-weight:600}.pf .sig-status .live{display:inline-flex;align-items:center;gap:8px;color:var(--pf-text-2)}.pf .sig-status .live i{width:7px;height:7px;border-radius:50%;background:var(--pf-accent-teal);animation:sig-pulse 2.4s infinite}@keyframes sig-pulse{0%{box-shadow:0 0 #3ce0cb73}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.pf .sig-spacer{flex:1}.pf .sig-next b{color:var(--pf-primary);font-variant-numeric:tabular-nums}.pf .sig-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:start}.pf .sig-main{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius);padding:clamp(22px,2.6vw,32px);box-shadow:var(--pf-shadow)}.pf .sig-side{display:flex;flex-direction:column;gap:18px}.pf .sig-card{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius);padding:22px}.pf .sig-card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--pf-mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pf-text-3);margin-bottom:16px}.pf .sig-card-h svg{color:var(--pf-primary)}.pf .sig-card-h em{font-style:normal;font-family:var(--pf-mono);color:var(--pf-text)}.pf .sig-tldr{position:relative;border:1px solid var(--pf-border);border-radius:14px;background:var(--pf-bg-soft);padding:18px 20px;margin-bottom:22px}.pf .sig-tldr:before{content:"";position:absolute;left:18px;right:18px;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pf-primary),var(--pf-accent-indigo),transparent);opacity:.85}.pf .sig-tldr-head{display:flex;align-items:center;gap:8px;font-family:var(--pf-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--pf-primary);margin-bottom:10px}.pf .sig-tldr p{font-size:14.5px;line-height:1.75;color:var(--pf-text-2)}.pf .sig-tldr p b{color:var(--pf-text);font-weight:650}.pf .sig-kw{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.pf .sig-kw span{font-family:var(--pf-mono);font-size:11px;color:var(--pf-text-2);border:1px solid var(--pf-border);border-radius:999px;padding:3px 10px;transition:border-color .25s,color .25s}.pf .sig-kw span:hover{border-color:var(--pf-primary);color:var(--pf-primary)}.pf .sig-kw--channels{margin-top:16px;padding-top:14px;border-top:1px dashed var(--pf-border)}.pf .sig-kw--channels span.on{color:var(--pf-primary);border-color:color-mix(in srgb,var(--pf-primary) 35%,transparent);background:color-mix(in srgb,var(--pf-primary) 8%,transparent)}.pf .sig-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.pf .sig-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;border:1px solid var(--pf-border);background:transparent;font-size:12.5px;font-weight:600;color:var(--pf-text-2);font-family:inherit;cursor:pointer;transition:border-color .25s,color .25s,background .25s,transform .3s}.pf .sig-chip b{font-family:var(--pf-mono);font-size:10.5px;font-weight:500;color:var(--pf-text-3)}.pf .sig-chip:hover{border-color:var(--pf-text-3);color:var(--pf-text);transform:translateY(-1px)}.pf .sig-chip[aria-pressed=true]{background:var(--pf-primary);border-color:var(--pf-primary);color:#fff}.pf .sig-chip[aria-pressed=true] b{color:#ffffffbf}.pf .sig-item{border-top:1px dashed var(--pf-border)}.pf .sig-item:first-child{border-top:0}.pf .sig-item-main{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;width:100%;text-align:left;padding:18px 10px 18px 0;border:0;background:none;color:inherit;font-family:inherit;cursor:pointer;border-radius:12px;transition:background .25s}.pf .sig-item-main:hover{background:var(--pf-surface-hover)}.pf .sig-idx{font-family:var(--pf-mono);font-size:12px;color:var(--pf-text-3);padding-top:4px;letter-spacing:.08em;transition:color .25s}.pf .sig-item-main:hover .sig-idx{color:var(--pf-primary)}.pf .sig-item-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px;font-family:var(--pf-mono);font-size:11px;letter-spacing:.04em;color:var(--pf-text-3)}.pf .sig-src{display:inline-flex;align-items:center;gap:6px;color:var(--pf-text-2);font-weight:600}.pf .sig-src i{width:5px;height:5px;border-radius:50%;background:var(--sig-cat)}.pf .sig-cat{font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2.5px 9px;border-radius:999px;background:var(--sig-cat-bg);color:var(--sig-cat);white-space:nowrap}.pf .sig-item h4{font-size:16.5px;font-weight:700;letter-spacing:-.2px;line-height:1.45;margin:0 0 6px;transition:color .25s}.pf .sig-item-main:hover h4{color:var(--pf-primary)}.pf .sig-item-sum{display:block;font-size:13.5px;color:var(--pf-text-2);line-height:1.7;max-width:62ch}.pf .sig-item-side{display:flex;align-items:center;gap:12px;padding-top:3px}.pf .sig-imp{display:inline-flex;align-items:flex-end;gap:2.5px;height:12px}.pf .sig-imp i{width:3px;border-radius:1px;background:var(--pf-border)}.pf .sig-imp i:nth-child(1){height:5px}.pf .sig-imp i:nth-child(2){height:8.5px}.pf .sig-imp i:nth-child(3){height:12px}.pf .sig-imp[data-lv="1"] i:nth-child(1),.pf .sig-imp[data-lv="2"] i:nth-child(-n+2),.pf .sig-imp[data-lv="3"] i{background:var(--sig-cat)}.pf .sig-chev{width:20px;height:20px;display:grid;place-items:center;color:var(--pf-text-3);transition:transform .4s cubic-bezier(.22,1,.36,1),color .25s}.pf .sig-item.open .sig-chev{transform:rotate(180deg);color:var(--pf-primary)}.pf .sig-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1)}.pf .sig-item.open .sig-detail{grid-template-rows:1fr}.pf .sig-detail-in{overflow:hidden}.pf .sig-detail-box{margin:0 0 20px;padding:18px 20px;border:1px solid var(--pf-border);border-radius:14px;background:var(--pf-bg-soft);display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.pf .sig-detail-box h5{font-family:var(--pf-mono);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pf-text-3);margin:0 0 10px}.pf .sig-detail-box ul{display:flex;flex-direction:column;gap:8px}.pf .sig-detail-box li{position:relative;padding-left:18px;font-size:13px;line-height:1.65;color:var(--pf-text-2)}.pf .sig-detail-box li:before{content:attr(data-n);position:absolute;left:0;top:1px;font-family:var(--pf-mono);font-size:10.5px;color:var(--pf-primary)}.pf .sig-why{font-size:13px;line-height:1.75;color:var(--pf-text-2);margin:0}.pf .sig-why b{color:var(--pf-text);font-weight:650}.pf .sig-detail-foot{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:14px;border-top:1px dashed var(--pf-border)}.pf .sig-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--pf-primary);transition:gap .25s}.pf .sig-link:hover{gap:10px}.pf .sig-tags{display:flex;flex-wrap:wrap;gap:6px}.pf .sig-tags span{font-family:var(--pf-mono);font-size:10.5px;color:var(--pf-text-3);border:1px solid var(--pf-border);border-radius:999px;padding:2px 8px}.pf .sig-read{font-family:var(--pf-mono);font-size:10.5px;color:var(--pf-text-3);display:inline-flex;align-items:center;gap:6px}.pf .sig-read:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--pf-accent-teal);opacity:.8}.pf .sig-item--lead{margin:16px 0 10px;border:1px solid color-mix(in srgb,var(--sig-cat) 32%,var(--pf-border));border-radius:16px;background:linear-gradient(150deg,var(--sig-cat-bg),transparent 60%);position:relative;overflow:hidden}.pf .sig-item--lead:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--sig-cat),var(--pf-accent-indigo) 55%,transparent)}.pf .sig-item--lead .sig-item-main{padding:20px 16px 20px 18px;grid-template-columns:56px minmax(0,1fr) auto}.pf .sig-item--lead .sig-idx{font-size:10px;letter-spacing:.14em;line-height:1.6;color:var(--sig-cat);font-weight:700}.pf .sig-item--lead h4{font-size:19px}.pf .sig-item--lead .sig-item-sum{font-size:14px}.pf .sig-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;padding:12px;border:1px dashed var(--pf-border);border-radius:12px;background:none;font-size:13px;font-weight:600;color:var(--pf-text-2);font-family:inherit;cursor:pointer;transition:border-color .25s,color .25s,background .25s}.pf .sig-more:hover{border-color:var(--pf-primary);color:var(--pf-primary)}.pf .sig-more svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}.pf .sig-more.open svg{transform:rotate(180deg)}.pf .sig-empty{padding:34px 0;font-size:13px;color:var(--pf-text-3);text-align:center;margin:0}.pf .sig-dist{display:flex;flex-direction:column;gap:12px}.pf .sig-dist-t{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--pf-text-2);margin-bottom:6px}.pf .sig-dist-t b{font-family:var(--pf-mono);font-size:11px;color:var(--pf-text-3);font-weight:500}.pf .sig-bar{height:5px;border-radius:999px;background:var(--pf-heat-0);overflow:hidden}.pf .sig-bar i{display:block;height:100%;border-radius:999px;background:var(--sig-cat);width:0;transition:width 1s cubic-bezier(.22,1,.36,1) .25s}.pf .reveal.in .sig-bar i{width:var(--w)}.pf .sig-rows{display:flex;flex-direction:column;gap:11px}.pf .sig-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12.5px;color:var(--pf-text-3)}.pf .sig-row b{font-family:var(--pf-mono);font-size:12px;color:var(--pf-text);font-weight:600}.pf .sig-row b.ok{color:var(--pf-accent-teal)}.pf .sig-arc{display:flex;flex-direction:column}.pf .sig-arc button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:10px;background:none;font-size:12.5px;color:var(--pf-text-2);font-family:inherit;text-align:left;cursor:pointer;transition:background .25s,color .25s}.pf .sig-arc button:hover{background:var(--pf-surface-hover);color:var(--pf-text)}.pf .sig-arc button.on{color:var(--pf-text);background:var(--pf-bg-soft);font-weight:600}.pf .sig-arc button.on span:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--pf-primary);margin-right:7px;vertical-align:2px}.pf .sig-arc b{font-family:var(--pf-mono);font-size:10.5px;color:var(--pf-text-3);font-weight:500}.pf .sig-foot{display:flex;align-items:center;gap:12px;margin:16px 0 0;font-family:var(--pf-mono);font-size:11px;letter-spacing:.04em;color:var(--pf-text-3)}.pf .sig-foot:before{content:"";width:26px;height:1px;background:var(--pf-border);flex-shrink:0}@media(max-width:1023px){.pf .sig-grid{grid-template-columns:1fr}.pf .sig-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}}@media(max-width:640px){.pf .sig-status{padding:12px 16px;gap:10px;font-size:11px}.pf .sig-next{width:100%;display:flex;justify-content:space-between;border-top:1px dashed var(--pf-border);padding-top:10px}.pf .sig-side{grid-template-columns:1fr}.pf .sig-item-main,.pf .sig-item--lead .sig-item-main{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:16px 6px 16px 0}.pf .sig-item--lead .sig-item-main{padding-left:14px}.pf .sig-idx{padding-top:2px}.pf .sig-item-side{grid-column:2;justify-content:flex-start;padding-top:2px}.pf .sig-detail-box{grid-template-columns:1fr;gap:16px;padding:16px}.pf .sig-detail-box .sig-detail-foot{grid-column:auto}}.pf .sig-brief{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius);box-shadow:var(--pf-shadow);overflow:hidden}.pf .sig-brief-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 24px;border-bottom:1px solid var(--pf-border);font-family:var(--pf-mono);font-size:12px;letter-spacing:.04em;color:var(--pf-text-3)}.pf .sig-brief-meta b{color:var(--pf-text);font-weight:600}.pf .sig-brief-meta i.sep{width:1px;height:12px;background:var(--pf-border)}.pf .sig-brief-meta .live{display:inline-flex;align-items:center;gap:8px;color:var(--pf-text-2)}.pf .sig-brief-meta .live i{width:7px;height:7px;border-radius:50%;background:var(--pf-accent-teal);animation:sig-pulse 2.4s infinite}.pf .sig-brief-total{margin-left:auto}.pf .sig-brief-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;text-align:left;padding:17px 24px;border:0;border-top:1px dashed var(--pf-border);background:none;color:inherit;font-family:inherit;cursor:pointer;transition:background .25s}.pf .sig-brief-item:hover{background:var(--pf-surface-hover)}.pf .sig-brief-idx{font-family:var(--pf-mono);font-size:12px;color:var(--pf-text-3);letter-spacing:.08em;transition:color .25s}.pf .sig-brief-item:hover .sig-brief-idx{color:var(--sig-cat)}.pf .sig-brief-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.pf .sig-brief-flag{display:inline-flex;width:-moz-fit-content;width:fit-content;font-family:var(--pf-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sig-cat);background:var(--sig-cat-bg);padding:2.5px 8px;border-radius:999px}.pf .sig-brief-title{font-size:16px;font-weight:700;letter-spacing:-.2px;line-height:1.45;transition:color .25s}.pf .sig-brief-item:hover .sig-brief-title{color:var(--pf-primary)}.pf .sig-brief-sub{display:flex;align-items:center;gap:8px;font-family:var(--pf-mono);font-size:11px;color:var(--pf-text-3)}.pf .sig-brief-sub i{font-style:normal;opacity:.6}.pf .sig-brief-arrow{width:30px;height:30px;border:1px solid var(--pf-border);border-radius:50%;display:grid;place-items:center;color:var(--pf-text-3);transition:border-color .3s,color .3s,transform .3s}.pf .sig-brief-item:hover .sig-brief-arrow{border-color:var(--sig-cat);color:var(--sig-cat);transform:translate(2px,-2px)}.pf .sig-brief-item.lead{background:linear-gradient(150deg,var(--sig-cat-bg),transparent 55%)}.pf .sig-brief-item.lead:hover{background:var(--pf-surface-hover)}.pf .sig-brief-item.lead .sig-brief-title{font-size:17.5px}.pf .sig-brief-all{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px;border:0;border-top:1px dashed var(--pf-border);background:none;font-size:13px;font-weight:600;color:var(--pf-text-2);font-family:inherit;cursor:pointer;transition:color .25s,background .25s}.pf .sig-brief-all:hover{color:var(--pf-primary);background:var(--pf-surface-hover)}.pf .sig-brief-all svg{transition:transform .3s}.pf .sig-brief-all:hover svg{transform:translate(4px)}@media(max-width:640px){.pf .sig-brief-meta{padding:13px 16px;font-size:11px;gap:10px}.pf .sig-brief-total{margin-left:0;width:100%}.pf .sig-brief-item{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:15px 16px}.pf .sig-brief-arrow{display:none}.pf .sig-brief-title{font-size:14.5px}.pf .sig-brief-item.lead .sig-brief-title{font-size:15.5px}}.pf.sig-page{display:flex;flex-direction:column;min-height:100vh}.pf .sig-datebar{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.pf .sig-datebar button{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--pf-border);border-radius:999px;background:var(--pf-surface);font-family:var(--pf-mono);font-size:12px;letter-spacing:.03em;color:var(--pf-text-2);cursor:pointer;transition:border-color .25s,color .25s,background .25s}.pf .sig-datebar button b{font-size:10.5px;font-weight:500;color:var(--pf-text-3)}.pf .sig-datebar button:hover{border-color:var(--pf-text-3);color:var(--pf-text)}.pf .sig-datebar button.on{background:var(--pf-primary);border-color:var(--pf-primary);color:#fff}.pf .sig-datebar button.on b{color:#ffffffbf}@media(max-width:640px){.pf .sig-datebar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.pf .sig-datebar button{white-space:nowrap;flex-shrink:0}}.pf .sig-page-nav{position:sticky;top:0;z-index:50;background:var(--pf-nav-bg);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--pf-border)}.pf .sig-page-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:60px}.pf .sig-back{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:var(--pf-text-2);transition:color .25s}.pf .sig-back:hover{color:var(--pf-text)}.pf .sig-back svg{transition:transform .3s}.pf .sig-back:hover svg{transform:translate(-3px)}.pf .sig-back i{font-style:normal;color:var(--pf-text-3)}.pf .sig-back b{color:var(--pf-text);font-weight:700}.pf .sig-page-theme{width:36px;height:36px;border:1px solid var(--pf-border);border-radius:10px;background:none;color:var(--pf-text-2);display:grid;place-items:center;cursor:pointer;transition:color .25s,border-color .25s}.pf .sig-page-theme:hover{color:var(--pf-primary);border-color:var(--pf-text-3)}.pf .sig-page-main{flex:1}.pf .sig-page-main section{padding:44px 0 10px}.pf .sig-page-foot{border-top:1px solid var(--pf-border);margin-top:48px}.pf .sig-page-foot .sig-page-inner{height:auto;min-height:60px;padding:14px 0;font-family:var(--pf-mono);font-size:11.5px;color:var(--pf-text-3)}.pf .sig-page-foot a{color:var(--pf-text-2);transition:color .25s}.pf .sig-page-foot a:hover{color:var(--pf-primary)}.pf.pf-home{--pf-ease: cubic-bezier(.22, 1, .36, 1);--pf-ease-soft: cubic-bezier(.4, .14, .3, 1);--pf-hero-min: min( calc(100svh - 68px) , 880px)}.pf.pf-home main{position:relative}.pf.pf-home section{position:relative;padding:clamp(64px,6.6vw,100px) 0}.pf.pf-home section,.pf.pf-home header.hero{scroll-margin-top:72px}.pf.pf-home .nav-inner{height:68px}.pf.pf-home .nav-links a{padding:8px 15px}.pf.pf-home .nav-links a.active{background:transparent;color:var(--pf-text)}.pf.pf-home .nav-links a:after{content:"";position:absolute;left:15px;right:15px;bottom:5px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,var(--pf-primary),var(--pf-primary-2));transform:scaleX(0);transform-origin:left center;transition:transform .42s var(--pf-ease)}.pf.pf-home .nav-links a:hover:after,.pf.pf-home .nav-links a.active:after{transform:scaleX(1)}.pf.pf-home .hero{position:relative;display:flex;align-items:center;min-height:var(--pf-hero-min);padding:clamp(48px,7vh,88px) 0 clamp(64px,9vh,116px);overflow:hidden}.pf.pf-home .hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(28px,4.6vw,64px);align-items:center}.pf.pf-home .hero-copy{max-width:620px;transform:translate3d(calc(var(--nx, 0) * -9px),calc(var(--ny, 0) * -5px),0)}.pf.pf-home .hero-hello{margin-bottom:26px;padding:8px 16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.pf.pf-home .hero h1{font-size:clamp(40px,5.2vw,72px);line-height:1.1;letter-spacing:-1.4px}.pf.pf-home .hero-sub{margin:26px 0 30px;max-width:540px;font-size:17px;line-height:1.85}.pf.pf-home .chip-row{gap:9px;margin-bottom:34px}.pf.pf-home .chip{padding:6px 14px;font-size:13px}.pf.pf-home .btn-row{gap:12px}.pf.pf-home .btn{padding:13px 26px;border-radius:13px}.pf .hero-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background-image:radial-gradient(circle,rgba(226,238,255,.85) 1px,transparent 1.6px);background-size:97px 97px;transform:translate3d(calc(var(--nx, 0) * 12px),calc(var(--ny, 0) * 9px),0);-webkit-mask-image:radial-gradient(72% 66% at 62% 44%,#000 8%,transparent 76%);mask-image:radial-gradient(72% 66% at 62% 44%,#000 8%,transparent 76%)}.pf .hero-stars:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.65;background-image:radial-gradient(circle,rgba(180,226,255,.8) .8px,transparent 1.3px);background-size:139px 121px;background-position:41px 57px;animation:pf-twinkle 7s ease-in-out infinite}@keyframes pf-twinkle{0%,to{opacity:.35}50%{opacity:.85}}.pf[data-theme=light] .hero-stars{opacity:.3}.pf.pf-home .hero-scene{position:relative;justify-self:end;width:min(100%,clamp(440px,36vw,580px));aspect-ratio:1;perspective:1200px;perspective-origin:50% 46%;transform:translateY(calc(var(--scn, 0) * 30px)) rotateX(calc(var(--scn, 0) * 7deg)) scale(calc(1 - var(--scn, 0) * .05));transform-origin:50% 70%}.pf .scene-aura{position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:50%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--pf-primary) 30%,transparent),color-mix(in srgb,var(--pf-primary-2) 12%,transparent) 46%,transparent 68%);filter:blur(28px);animation:sc-breathe 9s ease-in-out infinite}@keyframes sc-breathe{50%{transform:scale(1.09);opacity:.78}}.pf .scene-3d{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transform:rotateY(calc(var(--nx, 0) * 15deg)) rotateX(calc(var(--ny, 0) * -12deg))}.pf .gyro{position:absolute;top:15%;right:15%;bottom:15%;left:15%;transform-style:preserve-3d;transform:rotateY(-9deg) rotateX(4deg);animation:gyro-sway 19s ease-in-out infinite alternate}@keyframes gyro-sway{0%{transform:rotateY(-11deg) rotateX(5deg)}to{transform:rotateY(11deg) rotateX(-5deg)}}.pf .gyro-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--rc, var(--pf-primary)) 36%,transparent);box-shadow:0 0 30px -10px color-mix(in srgb,var(--rc, var(--pf-primary)) 60%,transparent),inset 0 0 30px -14px color-mix(in srgb,var(--rc, var(--pf-primary)) 70%,transparent);transform-style:preserve-3d;will-change:transform}.pf .ring-a{--rc: var(--pf-primary);transform:rotateX(74deg) rotateY(7deg);animation:ring-a 24s linear infinite}.pf .ring-b{--rc: var(--pf-primary-2);transform:rotateY(71deg) rotateX(17deg);animation:ring-b 32s linear infinite}.pf .ring-c{--rc: var(--pf-accent-teal);transform:rotateX(27deg) rotateY(63deg);animation:ring-c 42s linear infinite}@keyframes ring-a{0%{transform:rotateX(74deg) rotateY(7deg) rotate(0)}to{transform:rotateX(74deg) rotateY(7deg) rotate(360deg)}}@keyframes ring-b{0%{transform:rotateY(71deg) rotateX(17deg) rotate(0)}to{transform:rotateY(71deg) rotateX(17deg) rotate(-360deg)}}@keyframes ring-c{0%{transform:rotateX(27deg) rotateY(63deg) rotate(0)}to{transform:rotateX(27deg) rotateY(63deg) rotate(360deg)}}.pf .gyro-arc{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;background:conic-gradient(from 205deg,transparent 0 58%,color-mix(in srgb,var(--rc, var(--pf-primary)) 85%,#fff) 82%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.6px),#000 calc(100% - 2.6px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.6px),#000 calc(100% - 2.6px));opacity:.9;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--rc, var(--pf-primary)) 65%,transparent))}.pf .sat{position:absolute;left:50%;top:0;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--rc, var(--pf-primary));box-shadow:0 0 12px 2px color-mix(in srgb,var(--rc, var(--pf-primary)) 65%,transparent),0 0 0 3px color-mix(in srgb,var(--rc, var(--pf-primary)) 12%,transparent)}.pf .gyro-halo{position:absolute;left:50%;top:50%;width:62%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--pf-primary) 42%,transparent),color-mix(in srgb,var(--pf-accent-teal) 16%,transparent) 48%,transparent 70%);filter:blur(20px);animation:sc-breathe 7s ease-in-out infinite}.pf .gyro-core{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;transform:translate3d(-50%,-50%,34px);border-radius:50%;background:radial-gradient(circle at 34% 27%,#ffffff 0%,#d7f5ff 22%,var(--pf-primary) 56%,color-mix(in srgb,var(--pf-primary-2) 72%,#08102a) 100%);box-shadow:0 0 46px color-mix(in srgb,var(--pf-primary) 48%,transparent),inset 0 -12px 30px #050c248c;animation:core-pulse 6.5s ease-in-out infinite;transform-style:preserve-3d}.pf .gyro-core i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 62%,rgba(255,255,255,.5) 74%,transparent 86%);-webkit-mask:radial-gradient(circle at 50% 50%,transparent 42%,#000 72%);mask:radial-gradient(circle at 50% 50%,transparent 42%,#000 72%);animation:core-sheen 9s linear infinite;opacity:.6}@keyframes core-sheen{to{transform:rotate(360deg)}}@keyframes core-pulse{50%{box-shadow:0 0 66px color-mix(in srgb,var(--pf-primary) 62%,transparent),inset 0 -12px 30px #050c248c}}.pf .gyro-axis{position:absolute;left:50%;top:-8%;bottom:-8%;width:1px;transform:translate(-50%);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--pf-primary) 42%,transparent) 42%,transparent);opacity:.45}.pf .float-card{position:absolute;border-radius:16px;border:1px solid color-mix(in srgb,var(--pf-border) 92%,transparent);background:color-mix(in srgb,var(--pf-bg-soft) 74%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 26px 60px -24px #03081ad9,inset 0 1px #ffffff14;transform:translateZ(var(--z, 0)) rotate(var(--r, 0deg));animation:fc-float 8s ease-in-out infinite}.pf[data-theme=light] .float-card{background:color-mix(in srgb,#fff 82%,transparent);box-shadow:0 22px 48px -22px #172a4f47,inset 0 1px #ffffffe6}@keyframes fc-float{0%,to{transform:translateZ(var(--z, 0)) rotate(var(--r, 0deg))}50%{transform:translate3d(0,-13px,var(--z, 0)) rotate(var(--r, 0deg))}}.pf .card-code{--z: 92px;--r: -4deg;left:-3%;bottom:7%;width:238px;overflow:hidden;animation-delay:.3s}.pf .fc-bar{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px solid color-mix(in srgb,var(--pf-border) 70%,transparent);background:color-mix(in srgb,var(--pf-bg) 30%,transparent)}.pf .fc-bar i{width:7px;height:7px;border-radius:50%;background:var(--pf-text-3);opacity:.45}.pf .fc-bar i:first-child{background:#ff5f57;opacity:.85}.pf .fc-bar i:nth-child(2){background:#febc2e;opacity:.85}.pf .fc-bar i:nth-child(3){background:#28c840;opacity:.85}.pf .fc-bar span{margin-left:6px;font-family:var(--pf-mono);font-size:10.5px;color:var(--pf-text-3)}.pf .fc-body{display:flex;flex-direction:column;gap:5px;padding:12px 14px 14px;font-family:var(--pf-mono);font-size:10.5px;line-height:1.6;color:var(--pf-text-2);white-space:nowrap}.pf .fc-line b{color:var(--pf-accent-pink);font-weight:600}.pf .fc-line em{color:var(--pf-accent-teal);font-style:normal}.pf .fc-line u{color:var(--pf-primary);text-decoration:none}.pf .fc-line.fc-dim{color:var(--pf-text-3);opacity:.75}.pf .card-stat{--z: 132px;--r: 3deg;right:0;top:5%;width:146px;padding:14px 16px 15px;display:flex;flex-direction:column;gap:6px;animation-delay:1.2s}.pf .cs-label{font-family:var(--pf-mono);font-size:9.5px;letter-spacing:.22em;color:var(--pf-text-3)}.pf .cs-val{font-size:30px;font-weight:800;line-height:1;letter-spacing:-1px;background:linear-gradient(135deg,var(--pf-text),var(--pf-primary));-webkit-background-clip:text;background-clip:text;color:transparent}.pf .cs-spark{display:flex;align-items:flex-end;gap:3px;height:26px}.pf .cs-spark i{flex:1;height:var(--h, 50%);border-radius:2px 2px 1px 1px;background:linear-gradient(180deg,var(--pf-primary),color-mix(in srgb,var(--pf-primary) 20%,transparent));transform-origin:bottom;animation:spark-grow 3.4s var(--pf-ease) infinite alternate}.pf .cs-spark i:nth-child(2){animation-delay:.18s}.pf .cs-spark i:nth-child(3){animation-delay:.34s}.pf .cs-spark i:nth-child(4){animation-delay:.5s}.pf .cs-spark i:nth-child(5){animation-delay:.66s}.pf .cs-spark i:nth-child(6){animation-delay:.82s}@keyframes spark-grow{0%{transform:scaleY(.55);opacity:.6}to{transform:scaleY(1);opacity:1}}.pf .card-tag{--z: -76px;--r: 2deg;right:6%;bottom:5%;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;font-size:12px;color:var(--pf-text-2);animation-delay:.7s}.pf .tag-dot{width:6px;height:6px;border-radius:50%;background:var(--pf-accent-teal);box-shadow:0 0 color-mix(in srgb,var(--pf-accent-teal) 62%,transparent);animation:tag-pulse 2.6s ease-out infinite}@keyframes tag-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--pf-accent-teal) 55%,transparent)}70%,to{box-shadow:0 0 0 7px transparent}}.pf .scroll-cue{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;font-size:11px;letter-spacing:.2em;color:var(--pf-text-2);opacity:.62;transition:opacity .3s,color .3s}.pf .scroll-cue:hover{opacity:1;color:var(--pf-text-2)}.pf .cue-track{position:relative;width:1px;height:34px;background:color-mix(in srgb,var(--pf-text-3) 34%,transparent);overflow:hidden}.pf .cue-track i{position:absolute;left:0;top:-45%;width:100%;height:45%;background:linear-gradient(180deg,transparent,var(--pf-primary));animation:cue-run 2.4s var(--pf-ease) infinite}@keyframes cue-run{0%{top:-45%}70%,to{top:105%}}.pf.pf-home .marquee{padding:20px 0;background:color-mix(in srgb,var(--pf-bg-soft) 66%,transparent)}.pf .sec-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:14px}.pf .sec-no{font-family:var(--pf-mono);font-size:11.5px;font-style:normal;font-weight:600;letter-spacing:.1em;color:var(--pf-text-3)}.pf .sec-line{width:34px;height:1px;background:linear-gradient(90deg,var(--pf-text-3),transparent);opacity:.6}.pf.pf-home .sec-tag{margin-bottom:0;font-size:11.5px;letter-spacing:.22em;line-height:1}.pf.pf-home .sec-head{margin-bottom:clamp(30px,3.6vw,44px)}.pf.pf-home .sec-head h2{font-size:clamp(30px,3.6vw,44px);line-height:1.2;letter-spacing:-1px}.pf.pf-home .sec-head p,.pf.pf-home .sec-head .scroll-words{margin-top:12px;max-width:660px;font-size:16px;line-height:1.82;color:var(--pf-text-2)}.pf.pf-home .sec-head .scroll-words span{vertical-align:top}.pf.pf-home .sec-band:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(58% 46% at 50% 0%,color-mix(in srgb,var(--pf-primary) 8%,transparent),transparent 72%),linear-gradient(180deg,transparent,color-mix(in srgb,var(--pf-bg-soft) 52%,transparent) 34%,transparent 96%)}.pf.pf-home .proj-rail{margin-bottom:22px}.pf.pf-home .stage-wrap{max-height:min(700px,72vh)}.pf.pf-home .stage-caption{margin-top:26px;padding:28px 30px;border-radius:22px}.pf.pf-home .stage-wrap.reveal{opacity:0;transform:perspective(1500px) rotateX(11deg) translateY(56px) scale(.955);transform-origin:50% 100%;transition:opacity .85s ease,transform 1.05s var(--pf-ease)}.pf.pf-home .stage-wrap.reveal.in{opacity:1;transform:none}.pf.pf-home .stage-caption.reveal{transform:perspective(1200px) rotateX(6deg) translateY(34px);transform-origin:50% 0%;transition:opacity .7s ease,transform .9s var(--pf-ease) .08s}.pf.pf-home .stage-caption.reveal.in{transform:none}.pf .proj-status{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--pf-border));background:color-mix(in srgb,var(--accent) 9%,transparent);font-size:12.5px;font-weight:600;color:var(--pf-text-2);white-space:nowrap}.pf .proj-status i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pf-pulse 2.4s ease-in-out infinite}.pf.pf-home .stage-caption h3{font-size:22px}.pf.pf-home .project-desc{font-size:15px;line-height:1.8;max-width:640px}.pf.pf-home .post-list{gap:20px}.pf.pf-home .post{padding:30px 30px 26px;gap:14px;min-height:212px;border-radius:18px}.pf.pf-home .post h3{font-size:18.5px;line-height:1.52;letter-spacing:-.2px}.pf.pf-home .post p{font-size:14.5px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pf.pf-home .post-meta{font-size:12.5px}.pf.pf-home .post.reveal{opacity:0;transform:perspective(900px) rotateX(9deg) translateY(30px) scale(.97);transition:opacity .72s ease,transform .85s var(--pf-ease)}.pf.pf-home .post.reveal.in{opacity:1;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px))}.pf.pf-home .post.tilt-on{transition:transform .18s ease-out,border-color .3s,background .3s,box-shadow .3s}.pf.pf-home .post:hover{box-shadow:0 24px 50px -20px #0000006b,0 2px color-mix(in srgb,var(--cat) 30%,transparent)}.pf.pf-home .about-card{padding:clamp(34px,4.4vw,58px);border-radius:28px;gap:clamp(28px,4vw,52px)}.pf .about-lead{flex:1;min-width:260px}.pf .about-kicker{display:inline-block;margin-bottom:14px;font-family:var(--pf-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--pf-primary);opacity:.85}.pf .about-lead h3{margin:0;font-size:clamp(24px,2.8vw,34px);font-weight:800;letter-spacing:-.6px;line-height:1.3}.pf .about-lead p{margin:12px 0 0;font-size:15px;color:var(--pf-text-2)}.pf.pf-home .contact-list{min-width:300px;max-width:420px;gap:11px}.pf.pf-home .contact-list a,.pf.pf-home .contact-list button{padding:16px 18px;border-radius:14px}.pf.pf-home .contact-list a:hover,.pf.pf-home .contact-list button:hover{transform:translate(4px)}.pf.pf-home footer{padding:40px 0 46px}.pf .chap-rail{display:none}@media(min-width:1280px){.pf.pf-home .chap-rail{position:fixed;right:clamp(16px,2vw,34px);top:50%;transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;gap:15px;align-items:flex-end;padding:12px 2px 12px 0}.pf .chap-rail:before{content:"";position:absolute;right:3px;top:4px;bottom:4px;width:1px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--pf-text-3) 45%,transparent) 14%,color-mix(in srgb,var(--pf-text-3) 45%,transparent) 86%,transparent)}.pf .chap-rail button{position:relative;display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;font:inherit;font-size:11.5px;letter-spacing:.06em;color:var(--pf-text-2);cursor:pointer;opacity:.55;transition:opacity .3s,color .3s}.pf .chap-rail button:hover{opacity:.95;color:var(--pf-text-2)}.pf .chap-rail button.on{opacity:1;color:var(--pf-text)}.pf .chap-no{font-family:var(--pf-mono);font-size:10px;opacity:.85;order:1}.pf .chap-label{order:2;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transform:translate(5px);transition:max-width .4s var(--pf-ease),opacity .3s,transform .4s var(--pf-ease)}.pf .chap-rail button:hover .chap-label,.pf .chap-rail button.on .chap-label{max-width:70px;opacity:1;transform:none}.pf .chap-dot{order:3;flex:none;width:7px;height:7px;border-radius:50%;border:1px solid var(--pf-text-3);background:var(--pf-bg);transition:background .35s,border-color .35s,transform .35s var(--pf-ease),box-shadow .35s}.pf .chap-rail button.on .chap-dot{background:var(--pf-primary);border-color:var(--pf-primary);transform:scale(1.3);box-shadow:0 0 0 4px color-mix(in srgb,var(--pf-primary) 15%,transparent),0 0 12px color-mix(in srgb,var(--pf-primary) 55%,transparent)}.pf .chap-line{display:none}}@media(max-width:1080px){.pf.pf-home .hero-scene{width:min(100%,430px)}.pf .card-code{left:-6%;width:210px}.pf .card-stat{width:132px}}@media(max-width:960px){.pf.pf-home .hero{min-height:0;padding-bottom:56px}.pf.pf-home .hero-grid{grid-template-columns:1fr;gap:8px}.pf.pf-home .hero-copy{order:1;max-width:none;transform:none}.pf.pf-home .hero-scene{order:2;justify-self:center;width:min(78vw,380px);margin:34px 0 6px}.pf .scroll-cue{display:none}.pf.pf-home .sec-head h2{font-size:clamp(26px,6vw,34px)}.pf.pf-home .post{min-height:0;padding:24px 24px 22px}.pf .about-lead{min-width:0}}@media(max-width:640px){.pf.pf-home .hero{padding-top:34px}.pf.pf-home .hero h1{font-size:clamp(32px,9.2vw,44px);letter-spacing:-.8px}.pf.pf-home .hero-sub{font-size:15.5px;margin:20px 0 24px}.pf.pf-home .hero-scene{width:min(84vw,330px)}.pf .card-code{width:176px;bottom:2%;left:-4%}.pf .fc-body{font-size:9.5px;padding:10px 11px 11px}.pf .card-stat{width:112px;top:2%;padding:11px 12px}.pf .cs-val{font-size:24px}.pf .card-tag{font-size:10.5px;padding:7px 12px;right:2%}.pf.pf-home .post{padding:22px 20px 20px}.pf.pf-home .post h3{font-size:17px}.pf.pf-home section{padding:60px 0}.pf.pf-home .stage-caption{padding:22px 20px}}@media(prefers-reduced-motion:reduce){.pf.pf-home .hero-scene,.pf .scene-3d,.pf .hero-stars,.pf .hero-stars:after,.pf.pf-home .hero-copy{transform:none!important}.pf .gyro,.pf .gyro-ring,.pf .float-card,.pf .gyro-core,.pf .gyro-core i,.pf .gyro-halo,.pf .scene-aura,.pf .hero-stars:after,.pf .cs-spark i,.pf .cue-track i,.pf .tag-dot{animation:none!important}.pf.pf-home .post.reveal,.pf.pf-home .post.reveal.in,.pf.pf-home .stage-wrap.reveal,.pf.pf-home .stage-wrap.reveal.in,.pf.pf-home .stage-caption.reveal,.pf.pf-home .stage-caption.reveal.in{transform:none;opacity:1}}.home-body{--nb-paper: #141d3d;--nb-panel: #1a2450;--nb-panel-2: #1f2a55;--nb-ink: #e8edf7;--nb-ink-2: #9aa7bd;--nb-ink-3: #5d6b84;--nb-line: rgba(232, 237, 247, .09);--nb-line-2: rgba(232, 237, 247, .18);--nb-acc: #4cc7fa;--nb-acc-soft: rgba(76, 199, 250, .12);display:flex;flex-direction:column;align-items:center;position:relative;background:var(--nb-paper);color:var(--nb-ink);min-height:auto;height:auto;width:100%;flex:1;overflow-x:hidden;animation:fadeInWithBg .8s ease-in-out}@keyframes fadeInWithBg{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nb-aura{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.nb-aura:before,.nb-aura:after{content:"";position:absolute;border-radius:50%;filter:blur(120px)}.nb-aura:before{width:52vw;height:52vw;left:-16vw;top:-20vw;background:radial-gradient(circle,rgba(76,199,250,.13),transparent 65%)}.nb-aura:after{width:46vw;height:46vw;right:-14vw;top:46%;background:radial-gradient(circle,rgba(129,140,248,.1),transparent 65%)}.nb-flow{position:relative;z-index:1;display:flex;flex-direction:column;gap:34px;width:100%;max-width:1200px;margin:0 auto;padding:56px 40px 72px;box-sizing:border-box;animation:slideIn .8s ease-out .2s both}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.nb-flow-tags{position:relative;z-index:2}.nb-main h3,.nb-flow h3{font-family:var(--font-display);letter-spacing:.02em}@media(max-width:980px){.nb-flow{padding:36px 20px 56px;gap:26px}}.post-module{animation:pmFadeIn .8s ease-out .4s both}@keyframes pmFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.pm-tag{font-family:var(--font-mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--nb-acc, #4cc7fa)}.pm-desc{color:var(--nb-ink-2, #9aa7bd);font-size:13.5px}.pm-featured{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 28px 24px;margin-bottom:26px;border-radius:18px;background:linear-gradient(160deg,var(--nb-panel-2, #1f2a55) 0%,var(--nb-panel, #1a2450) 70%);border:1px solid var(--nb-line, rgba(232, 237, 247, .09));cursor:pointer;isolation:isolate;overflow:hidden;animation:pmFeatIn .8s cubic-bezier(.19,1,.22,1) both;outline:none;transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease}@keyframes pmFeatIn{0%{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.pm-featured:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(420px 180px at 88% -10%,rgba(76,199,250,.14),transparent 70%),radial-gradient(320px 160px at 0% 110%,rgba(129,140,248,.1),transparent 70%);opacity:.8}.pm-featured:hover,.pm-featured:focus-visible{border-color:#4cc7fa66;transform:translateY(-3px);box-shadow:0 22px 46px -26px #4cc7fa59}.pm-featured-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pm-featured-badge{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;color:var(--nb-acc, #4cc7fa);border:1px solid rgba(76,199,250,.35);background:#4cc7fa14;border-radius:999px;padding:4px 12px}.pm-featured h2{margin:0;font-family:var(--font-display);font-size:clamp(22px,3vw,32px);font-weight:700;line-height:1.3;color:var(--nb-ink, #e8edf7);transition:color .3s ease}.pm-featured:hover h2,.pm-featured:focus-visible h2{color:var(--nb-acc, #4cc7fa)}.pm-featured p{margin:0;font-size:14px;line-height:1.7;color:var(--nb-ink-2, #9aa7bd);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pm-featured-more{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:13px;font-weight:600;color:var(--nb-ink-2, #9aa7bd);transition:color .3s ease,gap .3s ease}.pm-featured-more svg{width:15px;height:15px;transition:transform .35s cubic-bezier(.19,1,.22,1)}.pm-featured:hover .pm-featured-more,.pm-featured:focus-visible .pm-featured-more{color:var(--nb-acc, #4cc7fa);gap:12px}.pm-list{border-top:1px solid var(--nb-line, rgba(232, 237, 247, .09))}.pm-row{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px 14px;border-bottom:1px solid var(--nb-line, rgba(232, 237, 247, .09));cursor:pointer;isolation:isolate;animation:pmRowIn .6s ease-out both;outline:none}@keyframes pmRowIn{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pm-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#4cc7fa17,#4cc7fa05 78%);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.19,1,.22,1)}.pm-row:hover:before,.pm-row:focus-visible:before{transform:scaleY(1);transform-origin:top}.pm-row:hover,.pm-row:focus-visible{box-shadow:inset 3px 0 0 var(--nb-acc, #4cc7fa)}.pm-row>*{transition:color .3s ease}.pm-row:hover .pm-no,.pm-row:focus-visible .pm-no{color:var(--nb-acc, #4cc7fa)}.pm-row:hover .pm-main h3,.pm-row:focus-visible .pm-main h3{color:var(--nb-acc, #4cc7fa)}.pm-row:hover .pm-date,.pm-row:focus-visible .pm-date{color:var(--nb-acc, #4cc7fa)}.pm-no{font-family:var(--font-mono);font-size:12px;color:var(--nb-ink-3, #5d6b84)}.pm-main{min-width:0}.pm-main h3{font-size:19px;font-weight:700;color:var(--nb-ink, #e8edf7);line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.pm-main p{margin-top:4px;font-size:13px;line-height:1.6;color:var(--nb-ink-2, #9aa7bd);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.pm-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.pm-date{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--nb-ink-3, #5d6b84);white-space:nowrap}.pm-arrow{width:18px;height:18px;color:var(--nb-ink-3, #5d6b84);transform:rotate(0);transition:transform .35s cubic-bezier(.19,1,.22,1),color .3s ease}.pm-row:hover .pm-arrow,.pm-row:focus-visible .pm-arrow{transform:translate(4px,-4px);color:var(--nb-acc, #4cc7fa)}.pm-empty{padding:60px 0}.post-module .ant-pagination .ant-pagination-item,.post-module .ant-pagination .ant-pagination-prev,.post-module .ant-pagination .ant-pagination-next{transition:transform .2s ease}.post-module .ant-pagination .ant-pagination-item:hover{transform:translateY(-2px)}@media(max-width:640px){.pm-featured{padding:20px 18px}.pm-row{grid-template-columns:minmax(0,1fr) auto}.pm-no{display:none}.pm-main p{-webkit-line-clamp:2}}.tag-module{width:100%;box-sizing:border-box;animation:tmFadeIn .8s ease-out .3s both}@keyframes tmFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.tm-title{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--nb-ink-3, #5d6b84);margin-bottom:10px}.tag-content{display:flex;flex-wrap:wrap;gap:8px}.tag-pill{font-family:inherit;border:1px solid var(--nb-line-2, rgba(232, 237, 247, .18));border-radius:999px;padding:6px 14px;font-size:12.5px;line-height:1.5;color:var(--nb-ink-2, #9aa7bd);background:transparent;cursor:pointer;white-space:nowrap;transition:border-color .25s ease,color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}.tag-pill:hover{border-color:var(--nb-acc, #4cc7fa);color:var(--nb-acc, #4cc7fa);transform:translateY(-2px)}.tag-pill.selected{background:#4cc7fa24;border-color:var(--nb-acc, #4cc7fa);color:var(--nb-acc, #4cc7fa);font-weight:600;box-shadow:0 0 0 3px #4cc7fa1a}.tag-pill--static{cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tag-pill--static:hover{border-color:var(--nb-line-2, rgba(232, 237, 247, .18));color:var(--nb-ink-2, #9aa7bd);transform:none}.tm-loading{color:var(--nb-ink-3, #5d6b84);font-size:13px;min-height:44px;display:flex;align-items:center}.hh-hero{position:relative;max-width:1400px;margin:0 auto;padding:clamp(64px,12vh,130px) 40px clamp(120px,20vh,190px);z-index:1;overflow:hidden}.hh-galaxy{position:absolute;left:50%;bottom:-6vh;transform:translate(-50%);width:min(1560px,130vw);height:clamp(240px,46vh,440px);pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 80%,transparent 100%);opacity:.9}.hh-galaxy-canvas{display:block;width:100%;height:100%}.hh-word{position:absolute;right:-1vw;top:clamp(20px,4vh,48px);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:clamp(80px,14vw,190px);font-weight:800;line-height:1;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(232,237,247,.12);animation:hhWordIn 1.2s cubic-bezier(.19,1,.22,1) .15s both;z-index:0}@keyframes hhWordIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hh-inner{position:relative;z-index:1}.hh-kicker{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--nb-ink-3);margin-bottom:22px;animation:hhRise .9s cubic-bezier(.19,1,.22,1) .25s both}.hh-kicker:before{content:"";width:44px;height:1px;background:var(--nb-acc)}.hh-title{font-family:var(--font-body);font-size:clamp(38px,6.2vw,84px);line-height:1.08;font-weight:800;letter-spacing:-.025em;color:var(--nb-ink);text-wrap:balance}.hh-ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.hh-ln span{display:inline-block;transform:translateY(115%) rotate(3deg);transform-origin:left top;animation:hhLineIn 1s cubic-bezier(.19,1,.22,1) forwards}.hh-ln:nth-child(1) span{animation-delay:.35s}.hh-ln:nth-child(2) span{animation-delay:.48s}@keyframes hhLineIn{to{transform:translateY(0) rotate(0)}}.hh-title em{font-style:normal;background:linear-gradient(110deg,#4cc7fa 10%,#2dd4bf,#818cf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hh-flip{display:flex;align-items:center;gap:12px;margin-top:24px;font-family:var(--font-mono);font-size:clamp(13px,1.4vw,16px);color:var(--nb-ink-2);animation:hhRise .9s cubic-bezier(.19,1,.22,1) .62s both}.hh-flip-window{display:inline-block;height:1.7em;overflow:hidden;vertical-align:bottom;border-bottom:2px solid var(--nb-acc)}.hh-flip-list{display:block;transition:transform .65s cubic-bezier(.19,1,.22,1)}.hh-flip-list span{display:flex;align-items:center;height:1.7em;line-height:1.7em;color:var(--nb-acc);font-weight:700;white-space:nowrap}.hh-flip-list span:before{content:"↳ ";color:var(--nb-ink-3);font-weight:400}.hh-sub{margin-top:22px;max-width:520px;color:var(--nb-ink-2);font-size:15px;animation:hhRise .9s cubic-bezier(.19,1,.22,1) .74s both}@keyframes hhRise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.hh-cue{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:clamp(28px,6vh,56px);animation:hhRise .9s cubic-bezier(.19,1,.22,1) 1s both}.hh-cue span{font-family:var(--font-mono);font-size:10px;letter-spacing:.34em;color:var(--nb-ink-3)}.hh-cue i{width:1px;height:44px;background:linear-gradient(180deg,var(--nb-acc),transparent);animation:hhCue 2.2s ease-in-out infinite;transform-origin:top}@keyframes hhCue{0%,to{transform:scaleY(.35);opacity:.5}50%{transform:scaleY(1);opacity:1}}@media(prefers-reduced-motion:reduce){.hh-cue i{animation:none}}.hh-marquee{position:relative;z-index:1;color:var(--nb-ink-2);padding:15px 0;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-top:1px solid var(--nb-line);border-bottom:1px solid var(--nb-line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);width:100%}.hh-mq-track{display:flex;width:-moz-max-content;width:max-content;animation:hhMq 30s linear infinite}.hh-marquee:hover .hh-mq-track{animation-play-state:paused}@keyframes hhMq{to{transform:translate(-50%)}}.hh-mq-half{display:flex}.hh-mq-item{display:inline-flex;align-items:center;gap:26px;padding:0 13px;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.08em;white-space:nowrap}.hh-mq-item:after{content:"✦";font-size:10px;color:var(--nb-acc);opacity:.9}@media(max-width:768px){.hh-hero{padding:44px 20px 130px}.hh-word{font-size:clamp(64px,22vw,110px);top:8px}.hh-flip{flex-wrap:wrap}.hh-galaxy{height:230px;width:170vw}.hh-cue{display:none}}.hh-rails{display:none}@media(min-width:1680px){.hh-rails{display:block}.hh-rail{position:fixed;top:96px;bottom:44px;display:flex;flex-direction:column;align-items:center;gap:14px;z-index:2;pointer-events:none}.hh-rail--l{left:30px}.hh-rail--r{right:30px}.hh-rail i{flex:1;width:1px;min-height:56px;background:linear-gradient(180deg,transparent 0%,rgba(232,237,247,.18) 26%,rgba(232,237,247,.18) 74%,transparent 100%)}.hh-rail em{writing-mode:vertical-rl;font-family:var(--font-mono);font-style:normal;font-size:10.5px;letter-spacing:.42em;color:var(--nb-ink-3);white-space:nowrap}}@media(prefers-reduced-motion:reduce){.hh-rails{display:none}}.hs-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);max-width:1200px;width:100%;margin:0 auto;padding:0 40px;box-sizing:border-box}.hs-cell{display:flex;flex-direction:column;gap:10px;padding:26px 4px;border-top:1px solid var(--nb-line);border-bottom:1px solid var(--nb-line);border-left:1px solid var(--nb-line);animation:hsIn .9s cubic-bezier(.19,1,.22,1) 1.05s both}.hs-cell:first-child{border-left:none}.hs-cell:nth-child(2){animation-delay:1.13s}.hs-cell:nth-child(3){animation-delay:1.21s}.hs-cell:nth-child(4){animation-delay:1.29s}@keyframes hsIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hs-label{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--nb-ink-2);letter-spacing:.05em}.hs-label i{font-family:var(--font-mono);font-style:normal;font-size:10px;letter-spacing:.22em;color:var(--nb-ink-3)}.hs-num-val{font-family:var(--font-mono);font-size:clamp(26px,3.4vw,38px);font-weight:700;line-height:1;color:var(--nb-ink);font-variant-numeric:tabular-nums;background:linear-gradient(120deg,#e8edf7 30%,#4cc7fa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hs-cell{position:relative;transition:background .3s ease}.hs-cell:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--nb-acc),transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.19,1,.22,1)}.hs-cell:hover:after{transform:scaleX(1)}.hs-cell:hover{background:linear-gradient(180deg,rgba(76,199,250,.04),transparent 80%)}@media(max-width:768px){.hs-row{grid-template-columns:repeat(2,1fr);padding:0 20px;gap:0 18px}.hs-cell{padding:18px 2px}.hs-cell:nth-child(odd){border-left:none}.hs-cell:nth-child(n+3){border-top:none}.hs-cell,.hs-cell:nth-child(2),.hs-cell:nth-child(3),.hs-cell:nth-child(4){animation-delay:.2s}}.ip-module{display:flex;flex-direction:column;width:100%;min-height:350px;align-items:center;background:var(--nb-panel, #1a2450);border:1px solid var(--nb-line, rgba(232, 237, 247, .09));border-radius:18px;padding:16px;box-sizing:border-box;animation:ipFadeIn .8s ease-out .2s both;overflow:hidden;transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease}.ip-module:hover{border-color:var(--nb-line-2, rgba(232, 237, 247, .18));transform:translateY(-2px);box-shadow:0 18px 40px -22px #4cc7fa40}@keyframes ipFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ip-region{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;background:linear-gradient(120deg,#2fa2dd,#4cc7fa);border-radius:12px;box-shadow:0 4px 16px #4cc7fa38;gap:8px;min-height:42px;position:relative;overflow:hidden}.ip-region:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120px 60px at 85% 0%,rgba(255,255,255,.28),transparent 70%);pointer-events:none}.temp-wrapper{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.temp{display:inline-flex;align-items:center;gap:6px;font-size:22px;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(10,40,70,.4);line-height:1;font-family:var(--font-mono);white-space:nowrap;flex-wrap:nowrap;flex-shrink:0}.temp-region{display:inline-flex;flex-direction:row;align-items:center;gap:4px;font-size:12px;color:#ffffffeb;font-weight:500;white-space:nowrap;flex-shrink:0}.temp-region:before{content:"";width:1px;height:13px;background:#ffffff73}.weather-icon{width:22px;height:22px;flex-shrink:0;filter:drop-shadow(0 1px 3px rgba(10,40,70,.35))}.position{display:flex;flex-direction:row;align-items:center;gap:4px;font-size:11px;color:#fff;font-weight:500;padding:3px 7px;background:#0a183652;border-radius:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);white-space:nowrap;z-index:1;max-width:46%;min-width:0;overflow:hidden}.position-image{flex-shrink:0;width:12px;height:12px;filter:brightness(0) invert(1)}.calendar{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;font-size:15px;width:100%;flex:1;padding:0;overflow:hidden}.calendar .ant-picker-calendar{transform:scale(.92);transform-origin:top center;margin:0;background:transparent}.calendar .ant-picker-panel,.calendar .ant-picker-body,.calendar .ant-picker-calendar-header{background:transparent!important}.calendar>div{padding:0;margin:0}@media(max-width:980px){.ip-module{max-width:420px}}.calendar-cell{text-align:center;line-height:24px;border-radius:6px;height:24px;color:#9aa7bd;transition:background-color .25s ease,color .25s ease}.calendar-cell-today{text-align:center;line-height:24px;background:linear-gradient(120deg,#38bdf8,#4cc7fa);color:#0a1128;font-weight:700;border-radius:6px;height:24px;box-shadow:0 2px 10px #4cc7fa66}.ant-picker-calendar table thead tr th:first-child:before{content:"周";display:inline-block}.ant-picker-calendar table tbody td:first-child{pointer-events:none;color:#5d6b84;cursor:default}.ant-picker-calendar .ant-picker-body table tbody td.ant-picker-cell-week{pointer-events:none;color:#5d6b84}.weather-dock{position:fixed;right:0;top:calc(50% + 32px);transform:translateY(-50%);z-index:60;display:flex;align-items:center;pointer-events:none}.weather-dock-card{pointer-events:auto;width:320px;margin-right:10px;max-height:calc(100vh - 96px);overflow-y:auto;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility .4s}.weather-dock.is-closed .weather-dock-card{transform:translate(120%);opacity:0;visibility:hidden}.weather-dock .ip-module{min-height:0;width:100%;max-width:none;animation:none;box-shadow:0 26px 64px -30px #000000a6}.weather-dock .ip-module:hover{transform:none}@media(min-width:1600px){.home-body{transition:padding .45s cubic-bezier(.22,1,.36,1)}body.weather-dock-open .home-body{padding-right:402px}.hh-rail--r{transition:opacity .35s ease}body.weather-dock-open .hh-rail--r{opacity:0}}.weather-dock-tab{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:8px;width:52px;padding:14px 0 12px;background:var(--nb-panel-2, #1f2a55);border:1px solid var(--nb-line-2, rgba(232, 237, 247, .18));border-right:none;border-radius:14px 0 0 14px;color:var(--nb-ink, #e8edf7);font:inherit;cursor:pointer;box-shadow:-10px 14px 34px -20px #0009;transition:border-color .35s ease,background .35s ease}.weather-dock-tab:hover{border-color:#4cc7fa66;background:#22305f}.dock-temp{font-family:var(--font-mono, monospace);font-size:14px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.dock-icon{width:20px;height:20px}.dock-city{writing-mode:vertical-rl;font-size:11px;color:var(--nb-ink-2, #9aa7bd);letter-spacing:.18em;max-height:88px;overflow:hidden}.dock-chevron{margin-top:6px;color:var(--nb-acc, #4cc7fa);transition:transform .35s ease}.weather-dock.is-closed .dock-chevron{transform:rotate(180deg)}@media(max-width:767px){.weather-dock-card{width:min(320px,calc(100vw - 60px))}.weather-dock-tab{width:44px;padding:10px 0;gap:6px}.dock-city{display:none}}@media(prefers-reduced-motion:reduce){.weather-dock-card,.weather-dock-tab,.dock-chevron{transition:none}}.intro-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:radial-gradient(58vw 58vw at 50% 46%,rgba(76,199,250,.1),transparent 62%),linear-gradient(150deg,#0a1128,#12204a 52%,#1a2450);color:#e8edf7;overflow:hidden}.intro-clip{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:circle(141% at 50% 50%);transition:clip-path 1.05s cubic-bezier(.83,0,.15,1);will-change:clip-path}.intro-splash.is-exiting .intro-clip{clip-path:circle(0% at 50% 50%)}.intro-glow{position:absolute;left:50%;top:46%;width:52vmin;height:52vmin;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(76,199,250,.22) 0%,rgba(76,199,250,.05) 45%,transparent 70%);filter:blur(8px);pointer-events:none}.intro-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:0;transform:scale(.82);transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}.intro-canvas.is-ready{opacity:1;transform:scale(1)}.intro-splash.is-exiting .intro-canvas{transform:scale(1.14);transition:transform 1.05s cubic-bezier(.55,0,.68,.4)}.intro-brand{position:absolute;top:clamp(22px,4.5vh,44px);left:clamp(22px,4vw,52px);display:flex;flex-direction:column;gap:6px;z-index:2}.intro-brand-name{font-family:var(--font-display);font-size:clamp(18px,2.2vw,24px);letter-spacing:.3em;font-weight:600}.intro-brand-sub{font-size:10px;letter-spacing:.42em;color:#4cc7fabf}.intro-hud{position:absolute;left:clamp(22px,4vw,52px);right:clamp(22px,4vw,52px);bottom:clamp(40px,9vh,84px);display:flex;align-items:flex-end;justify-content:space-between;z-index:2}.intro-counter{display:flex;align-items:baseline;font-family:var(--font-display);line-height:.9;text-shadow:0 0 26px rgba(76,199,250,.35)}.intro-num{font-size:clamp(84px,15vw,172px);font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}.intro-pct{font-size:clamp(20px,3vw,34px);color:#4cc7fae6;margin-left:8px}.intro-caption{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:11px;letter-spacing:.34em;color:#e8edf799;padding-bottom:10px}.intro-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:#4cc7fa1f;z-index:2}.intro-bar-fill{height:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#38bdf8,#4cc7fa 60%,#818cf8);box-shadow:0 0 12px #4cc7facc}.intro-brand,.intro-hud{transition:opacity .42s ease,transform .42s ease}.intro-splash.is-exiting .intro-brand{opacity:0;transform:translateY(-14px)}.intro-splash.is-exiting .intro-hud{opacity:0;transform:translateY(16px)}.intro-splash.is-exiting .intro-bar{opacity:0;transition:opacity .3s ease}@media(prefers-reduced-motion:reduce){.intro-clip{transition:opacity .35s ease;clip-path:none}.intro-splash.is-exiting .intro-clip{clip-path:none;opacity:0}.intro-canvas{transition:none}}@media(max-width:640px){.intro-caption{display:none}.intro-brand-name{letter-spacing:.2em}}.login-container{position:relative;flex:1;display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 145px);padding:40px 20px;box-sizing:border-box;overflow:hidden;background:radial-gradient(1100px 700px at 12% -12%,rgba(76,199,250,.08),transparent 62%),radial-gradient(900px 620px at 88% 112%,rgba(129,140,248,.07),transparent 60%),linear-gradient(180deg,#16204a,#141d3d 55%,#111a38)}.login-aurora{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none}.login-aurora--warm{width:560px;height:420px;left:6%;top:-12%;background:radial-gradient(closest-side,rgba(76,199,250,.12),transparent 70%);animation:loginDrift 16s ease-in-out infinite alternate}.login-aurora--cool{width:480px;height:380px;right:4%;bottom:-14%;background:radial-gradient(closest-side,rgba(129,140,248,.1),transparent 70%);animation:loginDrift 20s ease-in-out infinite alternate-reverse}@keyframes loginDrift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(60px,30px,0) scale(1.12)}}.login-orbit{position:absolute;width:640px;height:640px;pointer-events:none}.login-orbit-ring{position:absolute;border-radius:50%;border:1px solid rgba(76,199,250,.12)}.login-orbit-ring--outer{top:0;right:0;bottom:0;left:0;border-style:dashed}.login-orbit-ring--inner{top:80px;right:80px;bottom:80px;left:80px;border-color:#4cc7fa2e}.login-orbit-spin{position:absolute;animation:loginOrbit 26s linear infinite}.login-orbit-spin--outer{top:0;right:0;bottom:0;left:0}.login-orbit-spin--inner{top:80px;right:80px;bottom:80px;left:80px;animation-duration:17s;animation-direction:reverse}.login-orbit-dot{position:absolute;top:-3px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#4cc7fa;box-shadow:0 0 12px 3px #4cc7fa73}.login-orbit-dot--amber{background:#818cf8;box-shadow:0 0 12px 3px #818cf866}@keyframes loginOrbit{to{transform:rotate(360deg)}}.login-stage{position:relative;z-index:1;width:100%;display:flex;justify-content:center}.login-form{position:relative;width:100%;max-width:380px;padding:38px 36px 26px;box-sizing:border-box;border:1px solid rgba(232,237,247,.14);border-radius:22px;background:linear-gradient(165deg,#1f2a55f0,#1a2450f5);box-shadow:0 30px 80px -28px #030816b3,inset 0 1px #e8edf70f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:loginRise .7s cubic-bezier(.22,1,.36,1) both}@keyframes loginRise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.login-form:before{content:"";position:absolute;top:0;left:26px;right:26px;height:1px;background:linear-gradient(90deg,transparent,rgba(76,199,250,.6),rgba(129,140,248,.45),transparent)}.login-head{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.login-title{margin:14px 0 6px;font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:.35em;text-indent:.35em;color:#e8edf7}.login-subtitle{margin:0;font-size:12.5px;letter-spacing:.22em;text-indent:.22em;color:#5d6b84}.login-error{display:flex;align-items:center;gap:7px;padding:9px 12px;margin-bottom:16px;border-radius:10px;border:1px solid rgba(248,113,113,.4);background:#f871711a;color:#fca5a5;font-size:12.5px;animation:loginErrorIn .3s ease both}.login-error-icon{flex-shrink:0}@keyframes loginErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-stage--shake{animation:loginShake .45s cubic-bezier(.36,.07,.19,.97)}@keyframes loginShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.form-group{margin-bottom:16px;width:100%}.form-group label{display:block;margin-bottom:7px;color:#9aa7bd;font-size:13px;letter-spacing:.06em}.input-wrap{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:13px;z-index:1;color:#5d6b84;pointer-events:none;transition:color .25s ease}.input-wrap input{width:100%;padding:11px 42px 11px 38px;box-sizing:border-box;background:#e8edf70d;border:1px solid rgba(232,237,247,.16);border-radius:12px;color:#e8edf7;font-size:14px;font-family:inherit;box-shadow:none;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.input-wrap input::-moz-placeholder{color:#5d6b84}.input-wrap input::placeholder{color:#5d6b84}.input-wrap input:focus{outline:none;border-color:#4cc7fa;box-shadow:0 0 0 3px #4cc7fa26}.input-wrap:focus-within .input-icon{color:#4cc7fa}.input-wrap input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #1f2a55 inset;-webkit-text-fill-color:#e8edf7;caret-color:#e8edf7}.pwd-toggle{position:absolute;right:8px;display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:#5d6b84;cursor:pointer;transition:color .2s ease,background .2s ease}.pwd-toggle:hover{color:#4cc7fa;background:#4cc7fa1a}.login-submit{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-top:8px;border:none;border-radius:12px;background:linear-gradient(120deg,#38bdf8,#4cc7fa);color:#0a1128;font-family:inherit;font-weight:700;font-size:15px;letter-spacing:.2em;text-indent:.2em;cursor:pointer;box-shadow:0 8px 24px #4cc7fa47;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.login-submit:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-20deg);transition:left .6s ease}.login-submit:hover:after{left:120%}.login-submit:hover{transform:translateY(-2px);box-shadow:0 12px 30px #4cc7fa66;filter:brightness(1.05)}.login-submit:active{transform:translateY(0) scale(.99)}.login-submit:disabled{cursor:default;opacity:.82;transform:none}.login-spin{animation:loginSpin .9s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-foot{margin:22px 0 0;padding-top:15px;border-top:1px dashed rgba(232,237,247,.14);text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;text-indent:.24em;color:#5d6b84}@media(max-width:560px){.login-container{padding:28px 16px}.login-form{padding:30px 22px 22px}.login-orbit{display:none}}@media(prefers-reduced-motion:reduce){.login-aurora,.login-orbit-spin,.login-spin{animation:none!important}}.page-container{--nb-paper: #141d3d;--nb-panel: #1a2450;--nb-panel-2: #1f2a55;--nb-ink: #e8edf7;--nb-ink-2: #b6c2d8;--nb-ink-3: #8ba0c2;--nb-line: rgba(232, 237, 247, .09);--nb-line-2: rgba(232, 237, 247, .18);--nb-acc: #4cc7fa;--nb-acc-soft: rgba(76, 199, 250, .1);position:relative;min-height:100vh;background:var(--nb-paper);color:var(--nb-ink);overflow:clip;animation:pageFadeIn .8s ease-in-out;padding-inline:max(24px,calc((100vw - 1380px)/2));box-sizing:border-box}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.page-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(42vw 42vw at 4% -8%,rgba(76,199,250,.1),transparent 65%),radial-gradient(38vw 38vw at 100% 38%,rgba(129,140,248,.08),transparent 65%)}.globe-bg{position:fixed;top:-6vh;right:-4vw;width:44vw;height:116vh;z-index:0;pointer-events:none;opacity:.75;-webkit-mask-image:radial-gradient(58% 58% at 50% 50%,#000 42%,transparent 80%);mask-image:radial-gradient(58% 58% at 50% 50%,#000 42%,transparent 80%)}.globe-bg-canvas{display:block;width:100%;height:100%}@media(max-width:899px){.globe-bg{display:none}}.read-progress{position:fixed;top:64px;left:0;height:3px;width:0;z-index:999;background:linear-gradient(90deg,#38bdf8,#4cc7fa 60%,#818cf8);box-shadow:0 0 12px #4cc7fa80;transition:width .1s linear}.detail-topbar{width:100%;max-width:860px;margin:0 auto;padding:6px clamp(20px,5vw,40px) 16px;box-sizing:border-box}.detail-topbar-sentinel{height:22px;padding:0}.back-fab{position:fixed;top:78px;left:22px;z-index:60;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--nb-line-2);background:#1a2450d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--nb-ink-2);font-size:13px;font-weight:500;letter-spacing:.05em;cursor:pointer;box-shadow:0 12px 30px -18px #030816cc;transition:color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}.back-fab:hover{color:var(--nb-acc);border-color:#4cc7fa73;box-shadow:0 14px 34px -18px #4cc7fa66}.back-fab:active{transform:scale(.96)}@media(max-width:1279px){.back-fab{top:auto;left:18px;bottom:26px;padding:11px 15px}}.article-sheet{position:relative;z-index:1;width:100%;max-width:920px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(20px,5vw,72px);border-radius:20px;border:1px solid var(--nb-line-2);background:linear-gradient(170deg,var(--nb-panel-2) 0%,var(--nb-panel) 55%);box-shadow:0 30px 70px -34px #030816d9;color:var(--nb-ink);animation:sheetRise .7s cubic-bezier(.22,1,.36,1) both}@keyframes sheetRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.article-sheet:before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,rgba(76,199,250,.6) 35%,rgba(129,140,248,.45) 65%,transparent);border-radius:1px}.tracing-beam{position:absolute;left:-34px;top:0;bottom:0;width:2px;border-radius:2px;background:#e8edf712;overflow:visible;pointer-events:none}.tracing-beam i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;background:linear-gradient(180deg,#38bdf8,#4cc7fa 55%,#818cf8);box-shadow:0 0 14px #4cc7fa8c;transform-origin:top;transform:scaleY(0)}.tracing-beam .beam-dot{position:absolute;left:50%;top:0;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-4px);background:#bfe7fd;box-shadow:0 0 12px #4cc7fae6,0 0 28px #4cc7fa80}.comment-wrap{width:100%;max-width:920px;margin:28px auto 40px}.article-title{font-family:var(--font-display);text-align:center;margin-bottom:1.6rem}.article-title,.article-title *{font-family:var(--font-display)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:.01em;color:var(--nb-ink)!important;text-shadow:none}.article-meta-mobile{display:flex;flex-direction:column;gap:12px;margin:0 0 1.8rem;padding:16px;border:1px solid var(--nb-line);border-radius:14px;background:#e8edf708}.meta-dates{display:flex;flex-wrap:wrap;gap:14px}.meta-date{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;color:var(--nb-ink-2);display:inline-flex;align-items:center;gap:6px}.meta-label{font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--nb-line-2);color:var(--nb-ink-3);letter-spacing:.12em}.meta-date .meta-label{color:var(--nb-acc);border-color:#4cc7fa59}.meta-desc{margin:0;font-size:13.5px;line-height:1.7;color:var(--nb-ink-2)}.article-meta-mobile .tag-module{max-width:none;background:transparent;border:none;box-shadow:none;padding:0;animation:none}.article-meta-mobile .tag-module .tm-title{display:none}.article-prose{width:100%;color:var(--nb-ink)}.article-prose .ProseMirror{font-family:var(--font-body);font-size:16.5px;line-height:1.85;letter-spacing:.01em;color:var(--nb-ink)}.article-prose .ProseMirror,.article-prose .ProseMirror p,.article-prose .ProseMirror .text-content{white-space:normal!important}.article-prose .ProseMirror code:not(pre code){white-space:nowrap}.article-prose .ProseMirror li>p,.article-prose .ProseMirror li>pre:not(:has(>code)){margin:0}.article-prose .ProseMirror pre:not(:has(>code)){background:transparent;border:none;border-radius:0;padding:0;margin:0 0 1.1em;color:var(--nb-ink);font-family:var(--font-body);font-size:16.5px;line-height:1.85;white-space:pre-wrap!important;overflow-wrap:break-word;word-break:break-word}.article-prose .ProseMirror pre:empty{display:none}.article-prose .ProseMirror p{font-family:var(--font-body);font-size:16.5px;line-height:1.85;color:var(--nb-ink);margin:0 0 1.15em}.article-prose .ProseMirror>*:first-child{margin-top:0}.article-prose ::-moz-selection{background:#4cc7fa40;color:var(--nb-ink);-webkit-text-fill-color:var(--nb-ink)}.article-prose ::selection{background:#4cc7fa40;color:var(--nb-ink);-webkit-text-fill-color:var(--nb-ink)}.article-prose .ProseMirror h1,.article-prose .ProseMirror h2,.article-prose .ProseMirror h3,.article-prose .ProseMirror h4,.article-prose .ProseMirror h5,.article-prose .ProseMirror h6{font-family:var(--font-display);color:var(--nb-ink);font-weight:700;line-height:1.3;margin:2rem 0 .9rem;letter-spacing:.01em}.article-prose .ProseMirror h1{font-size:2rem}.article-prose .ProseMirror h2{font-size:1.6rem;padding-left:.85rem;border-left:4px solid var(--nb-acc)}.article-prose .ProseMirror h3{font-size:1.32rem}.article-prose .ProseMirror h4{font-size:1.14rem;color:#cdd6e8}.article-prose .ProseMirror h5{font-size:1.02rem;color:#b8c2d8}.article-prose .ProseMirror h6{font-size:.95rem;color:var(--nb-ink-2)}.article-prose .ProseMirror strong{color:#7dd3fc;font-weight:700}.article-prose .ProseMirror em{color:#fca45c}.article-prose .ProseMirror a,.article-prose .ProseMirror .link-class{color:var(--nb-acc);text-decoration:none;border-bottom:1px dashed rgba(76,199,250,.5);transition:color .2s ease,border-color .2s ease}.article-prose .ProseMirror a:hover{color:#9adcfb;border-bottom-color:#9adcfb}.article-prose .ProseMirror ul,.article-prose .ProseMirror ol{color:var(--nb-ink)}.article-prose .ProseMirror li{color:var(--nb-ink);margin:.3em 0}.article-prose .ProseMirror li::marker{color:var(--nb-acc)}.article-prose .ProseMirror blockquote,.article-prose .tiptap blockquote{position:relative;border-left:4px solid var(--nb-acc);background:var(--nb-acc-soft);margin:1.6rem 0;padding:.7rem 1.1rem .7rem 2.5rem;border-radius:0 10px 10px 0;color:#cdd6e8;font-style:italic}.article-prose .ProseMirror blockquote:before{content:"“";position:absolute;left:10px;top:2px;font-family:var(--font-display),Georgia,serif;font-size:2rem;line-height:1;font-style:normal;color:#4cc7fa73;pointer-events:none}.article-prose .ProseMirror code:not(pre code){background:#e8edf712;color:#7dd3fc;padding:.12em .42em;border-radius:6px;font-family:var(--font-mono);font-size:.88em;border:1px solid var(--nb-line)}.article-prose .ProseMirror pre:has(>code),.article-prose .tiptap pre:has(>code){background:#101a3e;border:1px solid rgba(232,237,247,.1);border-radius:12px;padding:16px 18px;margin:1.4rem 0;overflow-x:auto;white-space:pre-wrap!important;word-break:break-word;box-shadow:inset 0 1px #e8edf70a,0 14px 34px -22px #030816e6}.article-prose .ProseMirror pre code{background:transparent;border:none;padding:0;color:#abb2bf;font-family:var(--font-mono);font-size:.9em;line-height:1.65;white-space:inherit}.article-prose .ProseMirror mark,.article-prose .tiptap mark{background:#4cc7fa33;color:#cdeffc;border-radius:4px;padding:.05em .25em}.article-prose .ProseMirror hr,.article-prose .tiptap hr,.article-prose .tiptap .hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(232,237,247,.25),transparent);margin:2.2rem 0}.article-prose .ProseMirror table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95em;overflow:hidden;border-radius:10px;border:1px solid var(--nb-line-2)}.article-prose .ProseMirror th,.article-prose .ProseMirror td{border:1px solid var(--nb-line);padding:9px 13px;text-align:left;color:var(--nb-ink)}.article-prose .ProseMirror th{background:#4cc7fa1a;color:#9adcfb;font-weight:600}.article-prose .ProseMirror tr:nth-child(2n) td{background:#e8edf708}.article-prose .ProseMirror img{max-width:100%;height:auto;display:block;margin:1.4rem auto;border-radius:12px;border:1px solid var(--nb-line-2);box-shadow:0 16px 40px -24px #030816e6;transition:box-shadow .3s ease}.article-prose .ProseMirror img:hover{box-shadow:0 20px 46px -22px #4cc7fa59}.article-prose .ProseMirror img:has(+img),.article-prose .ProseMirror img+img{display:inline-block;width:calc(33.333% - 8px);margin:1rem 4px;vertical-align:top}.article-prose .ProseMirror img:has(+img):not(:has(+img+img)),.article-prose .ProseMirror img+img:not(:has(+img)){width:calc(50% - 6px)}.article-prose .ProseMirror .text-content,.article-prose .text-content{background:#e8edf70a;color:var(--nb-ink);border-radius:6px}.article-prose .tiptap .react-component,.article-prose .ProseMirror .react-component{background:#4cc7fa0a;border-color:#4cc7fa4d;color:var(--nb-ink)}.article-prose .catalog-chapter-title .chapter-text{color:var(--nb-ink)}.article-prose .catalog-chapter-title .chapter-icon{color:var(--nb-acc)}.article-prose .catalog-chapter-title{border-bottom-color:var(--nb-line)}.article-prose .katex,.article-prose .katex *{color:var(--nb-ink)}.article-prose .tiptap .react-component,.article-prose .ProseMirror .react-component{background:#e8edf708;border:1px solid var(--nb-line-2);border-left:4px solid var(--nb-acc);border-radius:12px;margin:2rem 0;box-shadow:0 10px 26px -20px #030816e6;overflow:hidden}.article-prose .tiptap .react-component .title,.article-prose .ProseMirror .react-component .title{position:static!important;display:block;width:auto;height:auto;box-sizing:border-box;background:transparent!important;border:none;border-radius:0;color:#7dd3fc!important;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.14em;padding:11px 16px 9px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:default}.article-prose .tiptap .react-component .title:disabled,.article-prose .tiptap .react-component .title-readonly{border-bottom:1px dashed var(--nb-line-2)!important;box-shadow:none!important}.article-prose .tiptap .react-component .content{margin-top:0;padding:12px 18px 14px}.article-prose .tiptap .react-component .content .text.ant-input,.article-prose .ProseMirror .react-component .content textarea.text,.article-prose .ProseMirror .react-component .content .text-readonly{color:var(--nb-ink)!important;background:transparent!important;border:none!important;box-shadow:none!important;height:auto!important;line-height:1.8!important;font-size:15px;white-space:pre-wrap!important;overflow-wrap:break-word}.article-prose .react-component .content .text-readonly{font-family:var(--font-body);-webkit-user-select:text;-moz-user-select:text;user-select:text}.article-prose .tiptap .code-snippet button,.article-prose .ProseMirror .code-snippet button{background:#4cc7fa14;color:#7dd3fc;border:1px solid rgba(76,199,250,.28);border-radius:999px;box-shadow:none;transition:background .25s ease,transform .25s ease}.article-prose .tiptap .code-snippet button:hover{background:#4cc7fa24}.article-prose .tiptap .code-snippet button:active{background:#4cc7fa33}.article-prose .tiptap .code-snippet .content .text.ant-input,.article-prose .ProseMirror .code-snippet .content textarea.text,.article-prose .ProseMirror .code-snippet .content .text-readonly{color:#7dd3fc!important;background:transparent!important;border:none!important;box-shadow:none!important;font-family:var(--font-mono)}.article-prose .catalog-anchor-badge-read-only{background:linear-gradient(120deg,#38bdf8,#4cc7fa 55%,#818cf8);box-shadow:0 6px 16px -8px #4cc7faa6;border-radius:8px}.article-prose .hljs{color:#abb2bf;background:transparent}.article-prose .hljs-comment,.article-prose .hljs-quote{color:#7f848e;font-style:italic}.article-prose .hljs-keyword,.article-prose .hljs-selector-tag{color:#c678dd}.article-prose .hljs-string,.article-prose .hljs-addition{color:#98c379}.article-prose .hljs-attr,.article-prose .hljs-number,.article-prose .hljs-literal,.article-prose .hljs-variable,.article-prose .hljs-template-variable,.article-prose .hljs-tag .hljs-attr{color:#d19a66}.article-prose .hljs-title,.article-prose .hljs-title.function_,.article-prose .hljs-section{color:#61afef}.article-prose .hljs-title.class_,.article-prose .hljs-type,.article-prose .hljs-built_in{color:#e5c07b}.article-prose .hljs-regexp,.article-prose .hljs-symbol,.article-prose .hljs-bullet,.article-prose .hljs-link{color:#56b6c2}.article-prose .hljs-meta{color:#61afef}.article-prose .hljs-name,.article-prose .hljs-selector-class,.article-prose .hljs-selector-id,.article-prose .hljs-deletion{color:#e06c75}.article-prose .hljs-emphasis{font-style:italic}.article-prose .hljs-strong{font-weight:700}.detail-aside{z-index:5;max-height:calc(100vh - 128px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(139,160,194,.35) transparent}.detail-sider .ant-layout-sider-children{height:100%}.info-card{background:var(--nb-panel);border:1px solid var(--nb-line);border-radius:16px;padding:16px 18px;color:var(--nb-ink);box-shadow:0 14px 34px -22px #030816e6;transition:border-color .35s ease,box-shadow .35s ease}.info-card:hover{border-color:var(--nb-line-2);box-shadow:0 18px 40px -22px #4cc7fa4d}.info-card-title{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--nb-acc);padding-bottom:10px;border-bottom:1px solid var(--nb-line)}.info-card p{color:var(--nb-ink-2);font-size:13.5px;line-height:1.6;margin:0}.info-card .info-label{color:var(--nb-acc);font-weight:600}.detail-aside .tag-module{max-width:none;animation:none}.toc-card{background:var(--nb-panel);border:1px solid var(--nb-line);border-radius:16px;padding:14px 16px;box-shadow:0 14px 34px -22px #030816e6}.toc-fab{position:fixed;right:18px;bottom:26px;z-index:60;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(76,199,250,.4);background:linear-gradient(135deg,#38bdf8,#4cc7fa 60%,#818cf8);color:#0a1128;cursor:pointer;box-shadow:0 10px 28px -10px #4cc7fa99;transition:transform .25s ease,box-shadow .25s ease}.toc-fab:hover{transform:translateY(-2px);box-shadow:0 14px 32px -10px #4cc7fab3}.toc-fab:active{transform:scale(.94)}.detail-rail{display:none}@media(min-width:1600px){.detail-rail{display:flex;position:fixed;left:30px;top:128px;bottom:44px;flex-direction:column;align-items:center;gap:14px;z-index:5;pointer-events:none}.detail-rail .rail-pct{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--nb-ink-2);white-space:nowrap}.detail-rail .rail-pct i{font-style:normal;color:var(--nb-ink-3)}.detail-rail .rail-track{position:relative;width:2px;height:118px;border-radius:2px;background:#e8edf712;overflow:visible}.detail-rail .rail-track i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;background:linear-gradient(180deg,#38bdf8,#4cc7fa 55%,#818cf8);box-shadow:0 0 10px #4cc7fa80;transform-origin:top;transform:scaleY(0)}.detail-rail .rail-top{pointer-events:auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--nb-line-2);background:#1a2450d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--nb-ink-2);cursor:pointer;box-shadow:0 12px 30px -18px #030816cc;transition:opacity .3s ease,transform .3s ease,color .25s ease,border-color .25s ease}.detail-rail .rail-top:hover{color:var(--nb-acc);border-color:#4cc7fa73}.detail-rail .rail-top:active{transform:scale(.92)}.detail-rail .rail-top.is-idle{opacity:0;transform:translateY(4px);pointer-events:none}.detail-rail .rail-line{flex:1;width:1px;min-height:48px;background:linear-gradient(180deg,transparent 0%,rgba(232,237,247,.18) 26%,rgba(232,237,247,.18) 74%,transparent 100%)}.detail-rail em{writing-mode:vertical-rl;font-family:var(--font-mono);font-style:normal;font-size:10.5px;letter-spacing:.42em;color:var(--nb-ink-3);white-space:nowrap}}@media(max-width:1279px){.ant-layout-sider,.detail-aside{display:none!important}.tracing-beam{left:-14px}}@media(max-width:768px){.article-sheet{border-radius:14px}.article-prose .ProseMirror{font-size:15.5px}.article-title,.article-title *{text-align:left!important}.article-title{margin-bottom:1.2rem}}:root{--gray-1: #f5f5f5;--gray-2: #feef9b;--gray-3: #bdbdbd;--purple-light: #f4f1f6;--purple-dark: #141313;--purple: #a4aed1;--black: #000000;--white: #ffffff}.blog-editor{border:1px solid rgba(17,17,20,.14);border-radius:12px;background:#fdfcf9;box-shadow:0 14px 34px -24px #11111473;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s ease}.blog-editor:focus-within{border-color:#e63c0e66}.blog-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;row-gap:4px;padding:8px 10px;background:#fdfcf9;border-bottom:1px solid rgba(17,17,20,.1);flex-shrink:0}.blog-editor-toolbar .ant-divider-vertical{margin:0 6px;border-inline-start-color:#11111424}.blog-editor-toolbar .ant-btn{color:#55555e;border-radius:8px;padding-inline:10px}.blog-editor-toolbar .ant-btn:hover{color:#111114;background:#1111140d}.blog-editor-toolbar .ant-btn.is-active{color:#e63c0e;background:#e63c0e14;font-weight:600}.blog-editor-toolbar .ant-btn[disabled]{color:#11111447;background:transparent}.blog-editor-content{flex:1;min-height:280px;max-height:60vh;overflow-y:auto;padding:20px 26px 28px}.blog-editor-content .ProseMirror{outline:none;min-height:240px}.blog-editor-content::-webkit-scrollbar{width:8px}.blog-editor-content::-webkit-scrollbar-track{background:transparent}.blog-editor-content::-webkit-scrollbar-thumb{background:#1111142e;border:none;border-radius:8px}.blog-editor-content::-webkit-scrollbar-thumb:hover{background:#e63c0e73}.ProseMirror{white-space:pre-wrap!important;color:#26262c}.ProseMirror p{border-radius:6px;font-family:var(--font-body);font-size:16.5px;line-height:1.85;white-space:pre-wrap}.ProseMirror p[data-indent]{text-indent:2em}.ProseMirror h1{font-size:2.2em;line-height:1.2;margin:1.5rem 0;font-weight:600}.ProseMirror h2{font-size:1.8em;line-height:1.3;margin:1.3rem 0;font-weight:550}.ProseMirror h3{font-size:1.5em;margin:1.1rem 0;font-weight:500}.ProseMirror h4{font-size:1.3em}.ProseMirror h5{font-size:1.1em}.ProseMirror h6{font-size:1em;color:#666}.ProseMirror ul{list-style-type:disc}.ProseMirror ol{list-style-type:decimal}.ProseMirror li{position:relative;padding-left:1.5em;color:var(--black)}.text-content{white-space:pre-wrap;margin:8px 0;padding:4px;background:#1111140a;border-radius:3px}.tiptap :first-child{margin-top:0}.tiptap .hr{border:none;border-top:2px solid #131212;margin:1rem 0}.tiptap ul,.tiptap ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem}.tiptap ul li p,.tiptap ol li p{margin-top:.25em;margin-bottom:.25em}.tiptap blockquote{border-left:3px solid var(--gray-3);margin:1.5rem 0;padding-left:1rem}.tiptap hr{border:none;border-top:2px solid var(--gray-2);margin:2rem 0}.tiptap mark{background-color:#faf594;border-radius:.4rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.1rem .3rem}.tiptap .react-component{background-color:#b3f4f499;border:2px solid var(--purple);border-radius:.5rem;margin:2rem 0;position:relative}.tiptap .react-component .title{width:100px;height:1rem;box-sizing:content-box;background-color:#81b2ed;border-radius:0 0 .5rem;color:var(--white);font-size:.75rem;font-weight:700;padding:.25rem .5rem;position:absolute;top:0}.tiptap .react-component .title:disabled{background-color:#81b2ed;border-color:transparent!important;color:inherit!important;cursor:default!important;caret-color:transparent!important}.tiptap .react-component .title:disabled:hover,.tiptap .react-component .title:disabled:focus,.tiptap .react-component .title:disabled:active{box-shadow:none!important;border-color:transparent!important}.tiptap .react-component .content{margin-top:1.5rem;padding:1rem}.tiptap .react-component .content .text{background-color:#b3f4f400;border:0;outline:0}.tiptap .react-component .content:disabled{background:transparent!important;border-color:transparent!important;color:inherit!important;cursor:default!important;caret-color:transparent!important}.tiptap .react-component .content:disabled:hover,.tiptap .react-component .content:disabled:focus,.tiptap .react-component .content:disabled:active{box-shadow:none!important;border-color:transparent!important}.tiptap .react-component .content .text.ant-input[disabled]{background:transparent!important;border:none!important;color:inherit!important;cursor:default!important;resize:none!important;caret-color:transparent!important}.tiptap .react-component .content .text.ant-input[disabled]:hover,.tiptap .react-component .content .text.ant-input[disabled].ant-input-focused{border-color:transparent!important;box-shadow:none!important}.tiptap .react-component .content .text.ant-input[disabled]::-webkit-resizer,.tiptap .react-component .content .text.ant-input[disabled]::-webkit-scrollbar-thumb{display:none!important}.tiptap .react-component .content .text.ant-input{overflow:hidden!important;resize:none!important;height:1.5rem;line-height:1.5rem;padding:0 .5rem;border:none!important;box-shadow:none!important}.blog-editor-toolbar .ant-color-picker-trigger{width:auto;height:auto;padding:4px 10px;border-radius:8px}.react-component .content .text.ant-input{border:none!important;box-shadow:none!important}.react-component .content .text.ant-input:focus{border:none!important;box-shadow:none!important}.link-class{border-bottom:3px dashed #f4cdcd;color:inherit;text-decoration:none}.catalog-anchor-wrapper{display:inline-block;margin:0 4px}.catalog-anchor-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#2dd4bf,#38bdf8);color:#fff;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.catalog-anchor-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.catalog-anchor-delete{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#fff3;border:none;color:#fff;cursor:pointer;font-size:16px;line-height:1;transition:all .2s ease}.catalog-anchor-delete:hover{background:#fff6;transform:scale(1.1)}.catalog-anchor-read-only{display:block;width:100%;margin:1.5rem 0 1rem;padding:0}.catalog-anchor-badge-read-only{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#2dd4bf,#38bdf8);color:#fff;padding:6px 14px;border-radius:4px;font-size:14px;font-weight:500;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 2px 4px #667eea33}.catalog-chapter-title{display:block;width:100%;margin:2rem 0 1rem;padding:1.2rem 1rem .8rem 0;border-bottom:2px solid #d1d5db;background:transparent;position:relative}.catalog-chapter-title .chapter-icon{display:inline-block;font-size:1.4rem;margin-right:.6rem;vertical-align:middle;color:#6b7280;font-weight:300}.catalog-chapter-title .chapter-text{display:inline-block;font-size:1.5rem;font-weight:600;color:#374151;vertical-align:middle;letter-spacing:.3px}.catalog-anchor-wrapper[data-editable=false]{display:block!important;width:100%!important;margin:0!important}.blog-editor .ProseMirror{color:#26262c;caret-color:#e63c0e;font-size:16.5px;line-height:1.85;letter-spacing:.01em;font-family:var(--font-body)}.blog-editor .ProseMirror ::-moz-selection{background:#e63c0e2e;color:#111114}.blog-editor .ProseMirror ::selection{background:#e63c0e2e;color:#111114}.blog-editor .ProseMirror p,.blog-editor .ProseMirror pre:not(:has(>code)){font-family:var(--font-body);font-size:16.5px;line-height:1.85;color:#26262c}.blog-editor .ProseMirror pre:not(:has(>code)){background:transparent;border:none;border-radius:0;padding:0;margin:0 0 1.1em;overflow-wrap:break-word}.blog-editor .ProseMirror h1,.blog-editor .ProseMirror h2,.blog-editor .ProseMirror h3,.blog-editor .ProseMirror h4,.blog-editor .ProseMirror h5,.blog-editor .ProseMirror h6{font-family:var(--font-display);color:#111114;font-weight:700;line-height:1.3;letter-spacing:.01em}.blog-editor .ProseMirror h1{font-size:2rem}.blog-editor .ProseMirror h2{font-size:1.6rem;padding-left:.85rem;border-left:4px solid #e63c0e}.blog-editor .ProseMirror h3{font-size:1.32rem}.blog-editor .ProseMirror h4{font-size:1.14rem}.blog-editor .ProseMirror h5{font-size:1.02rem}.blog-editor .ProseMirror h6{font-size:.95rem;color:#55555e}.blog-editor .ProseMirror strong{color:#e63c0e;font-weight:700}.blog-editor .ProseMirror em{color:#b5360f}.blog-editor .ProseMirror ul,.blog-editor .ProseMirror ol{color:#111114}.blog-editor .ProseMirror li{color:#26262c}.blog-editor .ProseMirror li::marker{color:#e63c0e}.blog-editor .ProseMirror blockquote{position:relative;border-left:4px solid #e63c0e;background:#e63c0e14;border-radius:0 10px 10px 0;margin:1.6rem 0;padding:.7rem 1.1rem .7rem 2.5rem;color:#55555e;font-style:italic}.blog-editor .ProseMirror blockquote:before{content:"“";position:absolute;left:10px;top:2px;font-family:var(--font-display),Georgia,serif;font-size:2rem;line-height:1;font-style:normal;color:#e63c0e66;pointer-events:none}.blog-editor .ProseMirror code:not(pre code){background:#1111140f;color:#b5360f;padding:.12em .42em;border-radius:6px;font-family:var(--font-mono);font-size:.88em;border:1px solid rgba(17,17,20,.1);white-space:nowrap}.blog-editor .ProseMirror pre:has(>code){background:#faf9f6;border:1px solid rgba(17,17,20,.1);border-radius:12px;padding:16px 18px;margin:1.4rem 0;overflow-x:auto;white-space:pre-wrap!important;word-break:break-word;box-shadow:0 1px #11111408}.blog-editor .ProseMirror pre code{background:transparent;border:none;padding:0;color:#24292f;font-family:var(--font-mono);font-size:.9em;line-height:1.65;white-space:inherit}.blog-editor .ProseMirror mark{background:#e63c0e2e;color:#9c2f0c;border-radius:4px;padding:.05em .25em}.blog-editor .ProseMirror hr,.blog-editor .ProseMirror .hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(17,17,20,.3),transparent);margin:2.2rem 0}.blog-editor .ProseMirror a,.blog-editor .ProseMirror .link-class{color:#b5360f;text-decoration:none;border-bottom:1px dashed rgba(230,60,14,.45);transition:color .2s ease,border-color .2s ease}.blog-editor .ProseMirror a:hover,.blog-editor .ProseMirror .link-class:hover{color:#ff6a3d;border-bottom-color:#ff6a3d}.blog-editor .ProseMirror .text-content{background:#1111140a;color:#111114;border-radius:6px}.blog-editor .ProseMirror img{max-width:100%;border-radius:12px;border:1px solid rgba(17,17,20,.1)}.blog-editor .ProseMirror .catalog-chapter-title{border-bottom-color:#1111141f}.blog-editor .ProseMirror .catalog-chapter-title .chapter-text{color:#111114}.blog-editor .ProseMirror .catalog-chapter-title .chapter-icon{color:#e63c0e}.blog-editor .ProseMirror .react-component{background:#fbf8f2;border:1px solid rgba(17,17,20,.2);border-left:4px solid #e63c0e;border-radius:12px;margin:2rem 0;box-shadow:0 10px 26px -20px #11111466;overflow:hidden}.blog-editor .react-component .title{position:static!important;display:block;width:100%!important;height:auto!important;box-sizing:border-box;background:transparent!important;border:none!important;border-bottom:1px dashed rgba(17,17,20,.16)!important;border-radius:0!important;color:#b5360f!important;font-family:var(--font-mono)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.14em!important;padding:11px 16px 9px!important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:text}.blog-editor .react-component .content{margin-top:0;padding:12px 18px 14px}.blog-editor .react-component .content .text.ant-input,.blog-editor .react-component .content textarea.text{color:#26262c!important;background:transparent!important;font-size:15px;line-height:1.8}.blog-editor .react-component .content .text.ant-input::-moz-placeholder{color:#11111466;-webkit-text-fill-color:rgba(17,17,20,.4)}.blog-editor .react-component .content .text.ant-input::placeholder{color:#11111466;-webkit-text-fill-color:rgba(17,17,20,.4)}.blog-editor .code-snippet>button{background:#e63c0e12;color:#b5360f;border:1px solid rgba(17,17,20,.1);border-radius:999px;transition:background .25s ease}.blog-editor .code-snippet>button:hover{background:#e63c0e1f}.blog-editor .code-snippet .text.ant-input,.blog-editor .code-snippet textarea.text{color:#26262c!important;background:transparent!important;border:none!important;box-shadow:none!important;caret-color:#e63c0e}.blog-editor .code-snippet .text.ant-input::-moz-placeholder{color:#11111466;-webkit-text-fill-color:rgba(17,17,20,.4)}.blog-editor .code-snippet .text.ant-input::placeholder{color:#11111466;-webkit-text-fill-color:rgba(17,17,20,.4)}.edit-blog-modal .ant-modal-content{background:#f6f4ef;border:1px solid rgba(17,17,20,.12);border-radius:16px;box-shadow:0 24px 64px -28px #11111466}.edit-blog-modal .ant-modal-header{background:transparent}.edit-blog-modal .ant-modal-title{color:#111114;letter-spacing:.02em}.edit-blog-modal .ant-modal-title:before{content:"";display:inline-block;width:14px;height:3px;margin-right:10px;border-radius:2px;vertical-align:.28em;background:linear-gradient(90deg,#ff6a3d,#e63c0e)}.ProseMirror pre{margin:1.1em 0;padding:14px 16px;border-radius:10px;background-color:#faf9f6;border:1px solid rgba(17,17,20,.1);font-family:JetBrains Mono,Fira Code,Consolas,Menlo,monospace;font-size:13.5px;line-height:1.65;overflow-x:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.ProseMirror pre code{background:transparent;padding:0;border-radius:0;color:#24292f;white-space:pre}.ProseMirror :not(pre)>code{padding:2px 6px;margin:0 2px;border-radius:5px;background-color:#e63c0e12;border:1px solid rgba(230,60,14,.14);color:#b93506;font-family:JetBrains Mono,Fira Code,Consolas,Menlo,monospace;font-size:.88em}.ProseMirror pre::-webkit-scrollbar{height:6px}.ProseMirror pre::-webkit-scrollbar-thumb{border-radius:3px;background-color:#1111142e}.blog-editor{border-color:#e8edf724;background:#1a2450;box-shadow:0 14px 34px -24px #030816d9}.blog-editor:focus-within{border-color:#4cc7fa73}.blog-editor-toolbar{background:#1f2a55;border-bottom-color:#e8edf71a}.blog-editor-toolbar .ant-divider-vertical{border-inline-start-color:#e8edf729}.blog-editor-toolbar .ant-btn{color:#9aa7bd}.blog-editor-toolbar .ant-btn:hover{color:#e8edf7;background:#e8edf712}.blog-editor-toolbar .ant-btn.is-active{color:#4cc7fa;background:#4cc7fa1f}.blog-editor-toolbar .ant-btn[disabled]{color:#e8edf747}.blog-editor-content::-webkit-scrollbar-thumb{background:#e8edf72e}.blog-editor-content::-webkit-scrollbar-thumb:hover{background:#4cc7fa73}.blog-editor .ProseMirror{color:#e8edf7;caret-color:#4cc7fa}.blog-editor .ProseMirror ::-moz-selection{background:#4cc7fa40;color:#e8edf7}.blog-editor .ProseMirror ::selection{background:#4cc7fa40;color:#e8edf7}.blog-editor .ProseMirror p,.blog-editor .ProseMirror pre:not(:has(>code)){color:#e8edf7}.blog-editor .ProseMirror h1,.blog-editor .ProseMirror h2,.blog-editor .ProseMirror h3,.blog-editor .ProseMirror h4,.blog-editor .ProseMirror h5{color:#e8edf7}.blog-editor .ProseMirror h6{color:#9aa7bd}.blog-editor .ProseMirror h2{border-left-color:#4cc7fa}.blog-editor .ProseMirror strong{color:#7dd3fc}.blog-editor .ProseMirror em{color:#fca45c}.blog-editor .ProseMirror ul,.blog-editor .ProseMirror ol,.blog-editor .ProseMirror li{color:#e8edf7}.blog-editor .ProseMirror li::marker{color:#4cc7fa}.blog-editor .ProseMirror blockquote{border-left-color:#4cc7fa;background:#4cc7fa14;color:#9aa7bd}.blog-editor .ProseMirror blockquote:before{color:#4cc7fa73}.blog-editor .ProseMirror code:not(pre code){background:#e8edf712;color:#7dd3fc;border-color:#e8edf71f}.blog-editor .ProseMirror pre:has(>code){background:#101a3e;border-color:#e8edf71a;box-shadow:inset 0 1px #e8edf70a}.blog-editor .ProseMirror pre code{color:#abb2bf}.blog-editor .ProseMirror mark{background:#4cc7fa33;color:#cdeffc}.blog-editor .ProseMirror hr,.blog-editor .ProseMirror .hr{background:linear-gradient(90deg,transparent,rgba(232,237,247,.25),transparent)}.blog-editor .ProseMirror a,.blog-editor .ProseMirror .link-class{color:#4cc7fa;border-bottom-color:#4cc7fa80}.blog-editor .ProseMirror a:hover,.blog-editor .ProseMirror .link-class:hover{color:#9adcfb;border-bottom-color:#9adcfb}.blog-editor .ProseMirror .text-content{background:#e8edf70d;color:#e8edf7}.blog-editor .ProseMirror img{border-color:#e8edf724}.blog-editor .ProseMirror .catalog-chapter-title{border-bottom-color:#e8edf724}.blog-editor .ProseMirror .catalog-chapter-title .chapter-text{color:#e8edf7}.blog-editor .ProseMirror .catalog-chapter-title .chapter-icon{color:#4cc7fa}.catalog-anchor-badge,.catalog-anchor-badge-read-only,.blog-editor .catalog-anchor-badge{background:linear-gradient(135deg,#38bdf8,#4cc7fa 55%,#818cf8)}.blog-editor .ProseMirror .react-component{background:#e8edf708;border-color:#e8edf72e;border-left-color:#4cc7fa;box-shadow:0 10px 26px -20px #030816e6}.blog-editor .react-component .title{border-bottom-color:#e8edf729!important;color:#7dd3fc!important}.blog-editor .react-component .content .text.ant-input,.blog-editor .react-component .content textarea.text{color:#e8edf7!important}.blog-editor .react-component .content .text.ant-input::-moz-placeholder{color:#e8edf766;-webkit-text-fill-color:rgba(232,237,247,.4)}.blog-editor .react-component .content .text.ant-input::placeholder{color:#e8edf766;-webkit-text-fill-color:rgba(232,237,247,.4)}.blog-editor .code-snippet>button{background:#4cc7fa14;color:#7dd3fc;border-color:#4cc7fa47}.blog-editor .code-snippet>button:hover{background:#4cc7fa24}.blog-editor .code-snippet .text.ant-input,.blog-editor .code-snippet textarea.text{color:#e8edf7!important;caret-color:#4cc7fa}.blog-editor .code-snippet .text.ant-input::-moz-placeholder{color:#e8edf766;-webkit-text-fill-color:rgba(232,237,247,.4)}.blog-editor .code-snippet .text.ant-input::placeholder{color:#e8edf766;-webkit-text-fill-color:rgba(232,237,247,.4)}.edit-blog-modal .ant-modal-content{background:#1a2450;border-color:#e8edf71f;box-shadow:0 24px 64px -28px #030816e6}.edit-blog-modal .ant-modal-title{color:#e8edf7}.edit-blog-modal .ant-modal-title:before{background:linear-gradient(90deg,#38bdf8,#4cc7fa)}.ProseMirror pre{background-color:#101a3e;border-color:#e8edf71a}.ProseMirror pre code{color:#abb2bf}.ProseMirror :not(pre)>code{background-color:#e8edf712;border-color:#e8edf71f;color:#7dd3fc}.ProseMirror pre::-webkit-scrollbar-thumb{background-color:#e8edf72e}.ProseMirror li{color:inherit}.ProseMirror h6{color:#9aa7bd}.tiptap .hr{border-top-color:#e8edf733}.tiptap mark{background-color:#4cc7fa40;color:#eaf6ff}.text-content{background:#e8edf70d}.link-class{border-bottom-color:#4cc7fa73}.catalog-chapter-title{border-bottom-color:#e8edf724}.catalog-chapter-title .chapter-icon{color:#4cc7fa}.catalog-chapter-title .chapter-text{color:#e8edf7}.blog-editor .hljs{color:#abb2bf}.blog-editor .hljs-comment,.blog-editor .hljs-quote{color:#7f848e}.blog-editor .hljs-keyword,.blog-editor .hljs-selector-tag{color:#c678dd}.blog-editor .hljs-string,.blog-editor .hljs-addition{color:#98c379}.blog-editor .hljs-number,.blog-editor .hljs-literal,.blog-editor .hljs-variable,.blog-editor .hljs-template-variable,.blog-editor .hljs-attr{color:#d19a66}.blog-editor .hljs-title,.blog-editor .hljs-title.function_,.blog-editor .hljs-section{color:#61afef}.blog-editor .hljs-title.class_,.blog-editor .hljs-type,.blog-editor .hljs-built_in{color:#e5c07b}.blog-editor .hljs-regexp,.blog-editor .hljs-symbol,.blog-editor .hljs-bullet,.blog-editor .hljs-link{color:#56b6c2}.blog-editor .hljs-meta{color:#61afef}.blog-editor .hljs-name,.blog-editor .hljs-selector-class,.blog-editor .hljs-selector-id{color:#e06c75}.comment-section{background:var(--nb-panel, #ffffff);border:1px solid var(--nb-line, rgba(17, 17, 20, .1));border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:16px;color:var(--nb-ink, #111114);box-shadow:0 1px #1111140a,0 14px 34px -22px #11111459}.comment-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--nb-line, rgba(17, 17, 20, .1))}.comment-title{font-family:var(--font-mono, monospace);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--nb-acc, #e63c0e);font-weight:700}.comment-sub{font-size:12px;color:var(--nb-ink-3, #97979f);letter-spacing:.04em}.user-info{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.comment-section .ant-list-item{border-block-end:1px dashed var(--nb-line, rgba(17, 17, 20, .12))!important;padding-block:14px}.comment-section .ant-list-item:last-child{border-block-end:none!important}.comment-section .ant-list .ant-list-item-meta-title{font-size:14px;font-weight:600;color:var(--nb-ink, #111114)}.comment-section .ant-list .ant-list-item-meta-description{color:var(--nb-ink-2, #55555e);font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.comment-section .ant-avatar{border:1px solid var(--nb-line, rgba(17, 17, 20, .1))}.comment-section .ant-pagination .ant-pagination-item a{color:var(--nb-ink-2, #55555e)}.comment-section .ant-pagination .ant-pagination-item-active{border-color:var(--nb-acc, #e63c0e)}.comment-section .ant-pagination .ant-pagination-item-active a{color:var(--nb-acc, #e63c0e)}@media(max-width:640px){.comment-section{padding:18px 16px}.user-info{flex-direction:column;align-items:stretch}.user-info>div{height:auto!important;padding:6px 0}}.catalog-card{background:var(--nb-panel, #ffffff);border:1px solid var(--nb-line, rgba(17, 17, 20, .1));border-radius:16px;padding:14px 16px;color:var(--nb-ink, #111114);box-shadow:0 1px #1111140a,0 14px 34px -22px #11111459}.catalog-card .catalog-card-title{color:var(--nb-ink, #111114)!important;margin-bottom:12px!important;font-size:15px!important;letter-spacing:.04em}.catalog-card .ant-list-item{border-bottom:1px solid var(--nb-line, rgba(17, 17, 20, .1))}.catalog-card .ant-list-item:last-child{border-bottom:none}.catalog-nav-item{border-left:2px solid transparent;transition:background .2s ease,border-left-color .2s ease}.catalog-nav-item:hover{background:var(--nb-acc-soft, rgba(230, 60, 14, .1));border-left-color:var(--nb-acc, #e63c0e)!important}.catalog-nav-row{display:flex;align-items:center;gap:8px;width:100%}.catalog-nav-icon{color:var(--nb-acc, #e63c0e);font-size:14px}.catalog-nav-text{font-size:14px;color:var(--nb-ink-2, #55555e);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.catalog-nav-item:hover .catalog-nav-text{color:var(--nb-acc, #e63c0e)}.nav-bar{display:flex;align-items:center;height:100%;width:100%;background:transparent;box-shadow:none;padding:0 48px;position:relative;gap:20px}.nav-bar:after{content:"";position:absolute;left:48px;right:48px;bottom:0;height:1px;background:linear-gradient(90deg,#4cc7fa00,#4cc7fa80 25%,#818cf859 60%,#818cf800);pointer-events:none}.nav-brand{display:flex;align-items:center;gap:11px;flex-shrink:0;border-radius:12px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}.nav-brand:hover{transform:translateY(-1px);opacity:.92}.nav-brand:active{transform:scale(.96)}.nav-brand-text{font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.22em;color:#e8edf7;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-brand-text i{font-style:normal;color:#4cc7fa;padding:0 2px}.morphingText{color:#e8edf7;text-shadow:none;flex:1;text-align:center;min-width:0}.search{width:320px;flex-shrink:0;margin-left:auto}.search .ant-input-affix-wrapper{border-radius:999px;background:#ffffff0f;border-color:#ffffff29;box-shadow:none}.search .ant-input-affix-wrapper,.search .ant-input{transition:box-shadow .3s ease,border-color .3s ease}.search .ant-input-affix-wrapper:hover{border-color:#4cc7fa80;box-shadow:0 0 0 2px #4cc7fa14}.search .ant-input-affix-wrapper-focused,.search .ant-input:focus{border-color:#4cc7fa;box-shadow:0 0 0 3px #4cc7fa29!important}.search .ant-input{color:#e8edf7}.search .ant-input::-moz-placeholder{color:#5d6b84}.search .ant-input::placeholder{color:#5d6b84}.search .ant-btn{border-radius:0 999px 999px 0;transition:background .3s ease,transform .15s ease}.search .ant-btn:active{transform:scale(.96)}@media(max-width:768px){.nav-bar{padding:0 20px}.nav-bar:after{left:20px;right:20px}.nav-brand-text{display:none}.search{width:190px}}.manage-shell{position:relative}.manage-shell:after{content:"";position:absolute;left:-160px;top:-160px;width:480px;height:480px;z-index:0;pointer-events:none;border-radius:50%;filter:blur(110px);background:radial-gradient(circle,rgba(76,199,250,.08),transparent 65%)}.manage-shell>*{position:relative;z-index:1}.manage-sider-caption{margin:18px 24px 6px;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.28em;color:#e8edf7}.manage-sider-caption:after{content:"";display:block;width:26px;height:2px;margin-top:8px;border-radius:2px;background:linear-gradient(90deg,#38bdf8,#4cc7fa)}.manage-menu .ant-menu-item{margin-inline:12px;width:auto;border-radius:10px;color:#9aa7bd;transition:color .2s ease,background .2s ease}.manage-menu .ant-menu-item:hover{color:#4cc7fa}.manage-menu .ant-menu-item-selected{background:#4cc7fa1f;color:#4cc7fa;font-weight:600}.manage-page{padding:20px 28px 32px}.manage-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-bottom:16px}.manage-toolbar-spacer{flex:1}.blog-table-card{background:#1a2450;border:1px solid rgba(232,237,247,.1);border-radius:16px;padding:6px 16px 12px;box-shadow:0 12px 32px -22px #030816cc}.blog-table-card .ant-table{background:transparent}.blog-table-card .ant-table-thead>tr>th{background:transparent;color:#8ba0c2;font-weight:600;font-size:12.5px;letter-spacing:.08em;border-bottom:1px solid rgba(232,237,247,.1)}.blog-table-card .ant-table-thead>tr>th:before{display:none}.blog-table-card .ant-table-tbody>tr>td{border-bottom:1px dashed rgba(232,237,247,.08);transition:background .2s ease}.blog-table-card .ant-table-tbody>tr:hover>td{background:#4cc7fa0d!important}.blog-table-card .row-deleted>td{opacity:.55}.post-title-cell{font-family:var(--font-display);font-weight:600;font-size:14.5px;letter-spacing:.02em}.cell-date{font-family:var(--font-mono);font-size:12.5px;color:#b6c2d8;white-space:nowrap}.cell-pv{font-family:var(--font-mono);font-size:13px;color:#b6c2d8}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;line-height:20px;white-space:nowrap}.status-pill i{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-pill--ok{color:#6ee7b7;background:#10b9811f}.status-pill--ok i{background:#34d399}.status-pill--deleted{color:#fca5a5;background:#f871711a}.status-pill--deleted i{background:#f87171}.stats-card{box-shadow:0 12px 32px -22px #030816cc;border-radius:14px}@media(max-width:768px){.manage-page{padding:14px 14px 24px}}.manage-toolbar .ant-input::-moz-placeholder,.manage-toolbar input::-moz-placeholder{color:#8ba0c2}.manage-toolbar .ant-input::placeholder,.manage-toolbar input::placeholder{color:#8ba0c2}.manage-page .ant-pagination .ant-pagination-item a,.manage-page .ant-pagination .ant-pagination-item-link{color:#b6c2d8}.manage-page .ant-pagination .ant-pagination-item-active{border-color:#4cc7fa}.manage-page .ant-pagination .ant-pagination-item-active a{color:#4cc7fa}.manage-page .ant-pagination-disabled .ant-pagination-item-link{color:#5d6b84!important}.blog-table-card .ant-empty-description{color:#b6c2d8}.blog-table-card .ant-empty-image svg{opacity:.75}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 227 51% 16%;--foreground: 220 48% 94%;--card: 229 51% 21%;--card-foreground: 220 48% 94%;--popover: 229 51% 18%;--popover-foreground: 220 48% 94%;--primary: 198 95% 64%;--primary-foreground: 227 51% 12%;--secondary: 228 46% 25%;--secondary-foreground: 220 48% 94%;--muted: 228 46% 25%;--muted-foreground: 218 21% 67%;--accent: 228 40% 26%;--accent-foreground: 198 90% 72%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 98%;--border: 228 38% 28%;--input: 228 38% 30%;--ring: 198 95% 64%;--chart-1: 198 95% 64%;--chart-2: 172 73% 56%;--chart-3: 252 100% 82%;--chart-4: 199 89% 60%;--chart-5: 27 96% 67%;--radius: .65rem;--font-display: "Georgia", "Palatino", "Times New Roman", "Songti SC", "STSong", "SimSun", serif;--font-body: ui-sans-serif, system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", "Source Code Pro", Consolas, monospace}.dark{--background: 227 51% 16%;--foreground: 220 48% 94%;--card: 229 51% 21%;--card-foreground: 220 48% 94%;--popover: 229 51% 18%;--popover-foreground: 220 48% 94%;--primary: 198 95% 64%;--primary-foreground: 227 51% 12%;--secondary: 228 46% 25%;--secondary-foreground: 220 48% 94%;--muted: 228 46% 25%;--muted-foreground: 218 21% 67%;--accent: 228 40% 26%;--accent-foreground: 198 90% 72%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 98%;--border: 228 38% 28%;--input: 228 38% 30%;--ring: 198 95% 64%;--chart-1: 198 95% 64%;--chart-2: 172 73% 56%;--chart-3: 252 100% 82%;--chart-4: 199 89% 60%;--chart-5: 27 96% 67%}.theme{--animate-shine: shine var(--duration) infinite linear}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-body);-webkit-font-smoothing:antialiased}::-moz-selection{background:#4cc7fa47;color:#e8edf7}::selection{background:#4cc7fa47;color:#e8edf7}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-px{top:1px;right:1px;bottom:1px;left:1px}.-inset-x-10{left:-2.5rem;right:-2.5rem}.inset-x-0{left:0;right:0}.-bottom-4{bottom:-1rem}.-left-4{left:-1rem}.-right-4{right:-1rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-2\.5{bottom:.625rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-3\.5{left:.875rem}.left-5{left:1.25rem}.left-8{left:2rem}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-3{top:.75rem}.top-40{top:10rem}.top-\[20\%\]{top:20%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-4{margin-bottom:1rem}.mt-3{margin-top:.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-0\.5{width:.125rem;height:.125rem}.size-1{width:.25rem;height:.25rem}.size-1\.5{width:.375rem;height:.375rem}.size-2{width:.5rem;height:.5rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-52{width:13rem;height:13rem}.size-full{width:100%;height:100%}.h-1{height:.25rem}.h-1\/2{height:50%}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[6rem\]{height:6rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-\[20rem\]{min-height:20rem}.min-h-\[inherit\]{min-height:inherit}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[1px\]{width:1px}.w-\[2px\]{width:2px}.w-\[50px\]{width:50px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[350px\]{max-width:350px}.max-w-lg{max-width:32rem}.max-w-screen-md{max-width:768px}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-left{transform-origin:top left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-\[101\%\]{--tw-translate-x: -101%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0\.5{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-3{--tw-translate-y: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-5{--tw-translate-y: -1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-3{--tw-translate-y: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-5{--tw-translate-y: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-12{--tw-rotate: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-12{--tw-rotate: 12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[215deg\]{--tw-rotate: 215deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-50{--tw-scale-x: .5;--tw-scale-y: .5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(-100% - var(--gap)))}}.animate-marquee{animation:marquee var(--duration) infinite linear}@keyframes marquee-vertical{0%{transform:translateY(0)}to{transform:translateY(calc(-100% - var(--gap)))}}.animate-marquee-vertical{animation:marquee-vertical var(--duration) linear infinite}@keyframes meteor{0%{transform:rotate(215deg) translate(0);opacity:1}70%{opacity:1}to{transform:rotate(215deg) translate(-500px);opacity:0}}.animate-meteor{animation:meteor 5s linear infinite}@keyframes sparkle{0%,to{opacity:.75;scale:.9}50%{opacity:1;scale:1}}.animate-sparkle{animation:sparkle 2s ease-in-out infinite}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.place-content-center{place-content:center}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[15px\]{border-radius:15px}.rounded-\[19px\]{border-radius:19px}.rounded-\[20px\]{border-radius:20px}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[var\(--border-radius\)\]{border-radius:var(--border-radius)}.rounded-\[var\(--card-content-radius\)\]{border-radius:var(--card-content-radius)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[rgba\(17\,17\,20\,0\.16\)\]{border-color:#11111429}.border-neutral-300{--tw-border-opacity: 1;border-color:rgb(212 212 212 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/5{border-color:#ffffff0d}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#0d1a30\]{--tw-bg-opacity: 1;background-color:rgb(13 26 48 / var(--tw-bg-opacity, 1))}.bg-\[\#0e1c33\]\/60{background-color:#0e1c3399}.bg-\[\#0e1c33\]\/90{background-color:#0e1c33e6}.bg-\[\#232c3d\]{--tw-bg-opacity: 1;background-color:rgb(35 44 61 / var(--tw-bg-opacity, 1))}.bg-\[\#f3f1ec\]{--tw-bg-opacity: 1;background-color:rgb(243 241 236 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-fuchsia-300\/20{background-color:#f0abfc33}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-neutral-200{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.bg-neutral-700{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:#ffffff0d}.bg-opacity-10{--tw-bg-opacity: .1}.bg-opacity-30{--tw-bg-opacity: .3}.bg-\[linear-gradient\(to_bottom\,var\(--tw-gradient-stops\)\)\],.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#101f3a\]{--tw-gradient-from: #101f3a var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 31 58 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ff6a3d\]{--tw-gradient-from: #ff6a3d var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 106 61 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ff6a3d\]\/30{--tw-gradient-from: rgb(255 106 61 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 106 61 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-200{--tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-500{--tw-gradient-from: #64748b var(--tw-gradient-from-position);--tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-300{--tw-gradient-from: #5eead4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(94 234 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[0\%\]{--tw-gradient-from-position: 0%}.via-\[\#e63c0e\]{--tw-gradient-to: rgb(230 60 14 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #e63c0e var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-\[\#e63c0e\]\/30{--tw-gradient-to: rgb(230 60 14 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(230 60 14 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-200{--tw-gradient-to: rgb(165 243 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a5f3fc var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-neutral-200{--tw-gradient-to: rgb(229 229 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #e5e5e5 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-teal-300{--tw-gradient-to: rgb(94 234 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #5eead4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-40\%{--tw-gradient-via-position: 40%}.via-\[10\%\]{--tw-gradient-via-position: 10%}.to-\[\#0a1426\]{--tw-gradient-to: #0a1426 var(--tw-gradient-to-position)}.to-\[\#c22f08\]{--tw-gradient-to: #c22f08 var(--tw-gradient-to-position)}.to-\[\#c22f08\]\/30{--tw-gradient-to: rgb(194 47 8 / .3) var(--tw-gradient-to-position)}.to-\[\#e63c0e\]{--tw-gradient-to: #e63c0e var(--tw-gradient-to-position)}.to-amber-300{--tw-gradient-to: #fcd34d var(--tw-gradient-to-position)}.to-gray-300{--tw-gradient-to: #d1d5db var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-\[99\%\]{--tw-gradient-to-position: 99%}.bg-clip-padding{background-clip:padding-box}.fill-gray-400\/30{fill:#9ca3af4d}.fill-white{fill:#fff}.stroke-gray-400\/30{stroke:#9ca3af4d}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[3px\]{padding-left:3px;padding-right:3px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\[3\.2px\]{padding-top:3.2px;padding-bottom:3.2px}.pb-20{padding-bottom:5rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-20{padding-left:5rem}.pl-4{padding-left:1rem}.pr-20{padding-right:5rem}.pr-4{padding-right:1rem}.pt-10{padding-top:2.5rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[13px\]{font-size:13px}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[20px\]{font-size:20px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[5rem\]{line-height:5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#111114\]{--tw-text-opacity: 1;color:rgb(17 17 20 / var(--tw-text-opacity, 1))}.text-\[\#e63c0e\]{--tw-text-opacity: 1;color:rgb(230 60 14 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-fuchsia-800{--tw-text-opacity: 1;color:rgb(134 25 143 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-neutral-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.text-neutral-200\/80{color:#e5e5e5cc}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-teal-200{--tw-text-opacity: 1;color:rgb(153 246 228 / var(--tw-text-opacity, 1))}.text-teal-300\/70{color:#5eead4b3}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.mix-blend-difference{mix-blend-mode:difference}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_\#ffffff10\]{--tw-shadow: 0 0 0 1px #ffffff10;--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_34px_rgba\(2\,10\,24\,0\.5\)\]{--tw-shadow: 0 10px 34px rgba(2,10,24,.5);--tw-shadow-colored: 0 10px 34px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_0_rgba\(17\,17\,20\,0\.05\)\,0_8px_20px_-14px_rgba\(17\,17\,20\,0\.35\)\]{--tw-shadow: 0 1px 0 rgba(17,17,20,.05),0 8px 20px -14px rgba(17,17,20,.35);--tw-shadow-colored: 0 1px 0 var(--tw-shadow-color), 0 8px 20px -14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0px_2px_3px_-1px_rgba\(0\,0\,0\,0\.1\)\,_0px_1px_0px_0px_rgba\(25\,28\,33\,0\.02\)\,_0px_0px_0px_1px_rgba\(25\,28\,33\,0\.08\)\]{--tw-shadow: 0px 2px 3px -1px rgba(0,0,0,.1), 0px 1px 0px 0px rgba(25,28,33,.02), 0px 0px 0px 1px rgba(25,28,33,.08);--tw-shadow-colored: 0px 2px 3px -1px var(--tw-shadow-color), 0px 1px 0px 0px var(--tw-shadow-color), 0px 0px 0px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-mid{transition-duration:3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-slow{transition-timing-function:cubic-bezier(.405,0,.025,1)}.will-change-\[background-position\]{will-change:background-position}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-out{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.slide-out-to-bottom-full{--tw-exit-translate-y: 100%}.slide-out-to-left-full{--tw-exit-translate-x: -100%}.slide-out-to-right-full{--tw-exit-translate-x: 100%}.slide-out-to-top-full{--tw-exit-translate-y: -100%}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-mid{animation-duration:3s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.ease-slow{animation-timing-function:cubic-bezier(.405,0,.025,1)}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}.fill-mode-forwards{animation-fill-mode:forwards}.\[--duration\:40s\]{--duration: 40s}.\[--gap\:1rem\]{--gap: 1rem}.\[animation-direction\:reverse\]{animation-direction:reverse}.\[filter\:url\(\#threshold\)_blur\(0\.6px\)\]{filter:url(#threshold) blur(.6px)}.\[gap\:var\(--gap\)\]{gap:var(--gap)}.\[mask-image\:linear-gradient\(to_bottom\,transparent_0\%\,black_10\%\,black_90\%\,transparent_100\%\)\]{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#101836}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#2c3763,#24305c);border-radius:8px;border:2px solid #101836}::-webkit-scrollbar-thumb:hover{background:#4cc7fa}@keyframes shine{0%{background-position:0% 0%}50%{background-position:100% 100%}to{background-position:0% 0%}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-left-\[var\(--border-size\)\]:before{content:var(--tw-content);left:calc(var(--border-size) * -1)}.before\:-top-\[var\(--border-size\)\]:before{content:var(--tw-content);top:calc(var(--border-size) * -1)}.before\:-z-10:before{content:var(--tw-content);z-index:-10}.before\:block:before{content:var(--tw-content);display:block}.before\:h-\[var\(--pseudo-element-height\)\]:before{content:var(--tw-content);height:var(--pseudo-element-height)}.before\:w-\[var\(--pseudo-element-width\)\]:before{content:var(--tw-content);width:var(--pseudo-element-width)}.before\:animate-background-position-spin:before{content:var(--tw-content);animation:background-position-spin 3s infinite alternate}.before\:rounded-\[var\(--border-radius\)\]:before{content:var(--tw-content);border-radius:var(--border-radius)}.before\:bg-\[linear-gradient\(0deg\,var\(--neon-first-color\)\,var\(--neon-second-color\)\)\]:before{content:var(--tw-content);background-image:linear-gradient(0deg,var(--neon-first-color),var(--neon-second-color))}.before\:bg-\[length\:100\%_200\%\]:before{content:var(--tw-content);background-size:100% 200%}.before\:content-\[\'\'\]:before{--tw-content: "";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-left-\[var\(--border-size\)\]:after{content:var(--tw-content);left:calc(var(--border-size) * -1)}.after\:-top-\[var\(--border-size\)\]:after{content:var(--tw-content);top:calc(var(--border-size) * -1)}.after\:-z-10:after{content:var(--tw-content);z-index:-10}.after\:block:after{content:var(--tw-content);display:block}.after\:h-\[var\(--pseudo-element-height\)\]:after{content:var(--tw-content);height:var(--pseudo-element-height)}.after\:w-\[var\(--pseudo-element-width\)\]:after{content:var(--tw-content);width:var(--pseudo-element-width)}@keyframes background-position-spin{0%{content:var(--tw-content);background-position:top center}to{content:var(--tw-content);background-position:bottom center}}.after\:animate-background-position-spin:after{content:var(--tw-content);animation:background-position-spin 3s infinite alternate}.after\:rounded-\[var\(--border-radius\)\]:after{content:var(--tw-content);border-radius:var(--border-radius)}.after\:bg-\[linear-gradient\(0deg\,var\(--neon-first-color\)\,var\(--neon-second-color\)\)\]:after{content:var(--tw-content);background-image:linear-gradient(0deg,var(--neon-first-color),var(--neon-second-color))}.after\:bg-\[length\:100\%_200\%\]:after{content:var(--tw-content);background-size:100% 200%}.after\:opacity-80:after{content:var(--tw-content);opacity:.8}.after\:blur-\[var\(--after-blur\)\]:after{content:var(--tw-content);--tw-blur: blur(var(--after-blur));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.hover\:-translate-y-px:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.01\]:hover{--tw-scale-x: 1.01;--tw-scale-y: 1.01;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#e63c0e\]\/60:hover{border-color:#e63c0e99}.hover\:border-teal-300\/30:hover{border-color:#5eead44d}.hover\:bg-fuchsia-300\/15:hover{background-color:#f0abfc26}.hover\:text-neutral-300\/60:hover{color:#d4d4d499}.hover\:shadow-\[0_16px_48px_rgba\(2\,10\,24\,0\.65\)\,0_0_28px_rgba\(45\,212\,191\,0\.08\)\]:hover{--tw-shadow: 0 16px 48px rgba(2,10,24,.65),0 0 28px rgba(45,212,191,.08);--tw-shadow-colored: 0 16px 48px var(--tw-shadow-color), 0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_6px_18px_rgba\(230\,60\,14\,0\.22\)\]:hover{--tw-shadow: 0 6px 18px rgba(230,60,14,.22);--tw-shadow-colored: 0 6px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[\#e63c0e\]\/40:focus-visible{--tw-ring-color: rgb(230 60 14 / .4)}.active\:scale-105:active{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.97\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-fuchsia-300\/30:active{background-color:#f0abfc4d}.disabled\:bg-gray-100:disabled{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-rotate-45{--tw-rotate: -45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[3\]{--tw-scale-x: 3;--tw-scale-y: 3;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white\/25{background-color:#ffffff40}.group:hover .group-hover\:text-teal-100{--tw-text-opacity: 1;color:rgb(204 251 241 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:\[animation-play-state\:paused\]{animation-play-state:paused}.dark\:border-neutral-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity, 1))}.dark\:bg-black:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.dark\:bg-neutral-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:bg-neutral-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.dark\:bg-neutral-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.dark\:bg-zinc-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.dark\:bg-zinc-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:from-gray-700:is(.dark *){--tw-gradient-from: #374151 var(--tw-gradient-from-position);--tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-neutral-700:is(.dark *){--tw-gradient-to: rgb(64 64 64 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #404040 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-gray-900:is(.dark *){--tw-gradient-to: #111827 var(--tw-gradient-to-position)}.dark\:text-fuchsia-400:is(.dark *){--tw-text-opacity: 1;color:rgb(232 121 249 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-neutral-300:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.dark\:text-neutral-500:is(.dark *){--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 215 170 / var(--tw-text-opacity, 1))}.dark\:text-transparent:is(.dark *){color:transparent}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-zinc-500:is(.dark *){--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.dark\:invert-0:is(.dark *){--tw-invert: invert(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:disabled\:bg-zinc-800:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}@media(min-width:640px){.sm\:left-8{left:2rem}.sm\:pl-10{padding-left:2.5rem}.sm\:pl-12{padding-left:3rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media(min-width:768px){.md\:left-3{left:.75rem}.md\:left-8{left:2rem}.md\:block{display:block}.md\:hidden{display:none}.md\:w-full{width:100%}.md\:flex-row{flex-direction:row}.md\:justify-end{justify-content:flex-end}.md\:gap-10{gap:2.5rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:pl-20{padding-left:5rem}.md\:pl-4{padding-left:1rem}.md\:pt-40{padding-top:10rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-\[24px\]{font-size:24px}.md\:text-base{font-size:1rem;line-height:1.5rem}}@media(min-width:1024px){.lg\:max-w-sm{max-width:24rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:text-9xl{font-size:8rem;line-height:1}.lg\:text-\[36px\]{font-size:36px}}@media(max-width:768px){html{overflow-x:clip}body{-webkit-tap-highlight-color:transparent}img{max-width:100%}}@media(max-width:768px){.nav-bar{padding:0 12px;gap:8px}.nav-bar:after{left:12px;right:12px}.morphingText{display:none}.search{width:auto;flex:1 1 auto;min-width:120px}.ant-layout-content:has(.home-body){overflow:visible!important}}@media(max-width:768px){.nb-flow{gap:22px}.nb-flow-tags{position:sticky;top:64px;z-index:50;padding:10px 14px;margin:0 -6px;border-radius:14px;background:linear-gradient(150deg,#1a2450f0,#141d3deb);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(232,237,247,.08)}.nb-flow-tags .tm-title{display:none}.nb-flow-tags .tag-content{flex-wrap:nowrap;overflow-x:auto;gap:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nb-flow-tags .tag-content::-webkit-scrollbar{display:none}.nb-flow-tags .tag-pill{flex-shrink:0}}.ip-date-mobile{display:none}@media(max-width:768px){.ip-module{min-height:0}.ip-module .calendar{display:none}.ip-date-mobile{display:block;text-align:center;color:var(--nb-ink-2, #9aa7bd);font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;padding:10px 0 2px}}@media(max-width:768px){.introduce{min-height:0;padding:16px;flex-direction:column;gap:12px}.introduce>.relative{display:none}.introduce .log{padding:0;justify-content:center}}@media(max-width:768px){.post-module .ant-pagination{flex-wrap:wrap;gap:4px;row-gap:6px;justify-content:center}.post-module .ant-pagination-item,.post-module .ant-pagination-prev,.post-module .ant-pagination-next{min-width:32px;height:32px;line-height:32px}}@media(max-width:768px){.article-sheet{padding:22px 16px;border-radius:14px}.article-prose .ProseMirror{font-size:15.5px}.article-prose .ProseMirror pre:has(>code){padding:12px 14px}.comment-wrap{padding:0 14px;margin:20px auto 32px}.comment-section{padding:16px}.tracing-beam{display:none}}.article-meta-mobile{display:none}@media(max-width:1279px){.article-meta-mobile{display:flex;flex-direction:column;gap:12px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(232,237,247,.12)}.meta-dates{display:flex;flex-wrap:wrap;gap:8px 18px}.meta-date{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12.5px;color:#9aa7bd;letter-spacing:.03em}.meta-date .meta-label{color:#4cc7fa;font-weight:600;font-size:12px;padding:1px 8px;border:1px solid rgba(76,199,250,.35);border-radius:9999px;background:#4cc7fa14}.meta-desc{margin:0;font-size:14px;line-height:1.7;color:#9aa7bd;font-style:italic;border-left:3px solid rgba(129,140,248,.5);padding-left:12px}.article-meta-mobile .tag-module{width:100%;margin:0}.article-meta-mobile .tag-content{flex-wrap:nowrap;overflow-x:auto;gap:10px;scrollbar-width:none}.article-meta-mobile .tag-content::-webkit-scrollbar{display:none}.article-meta-mobile .tag-pill{flex-shrink:0}}.toc-fab{display:none}@media(max-width:1279px){.toc-fab{display:inline-flex;position:fixed;right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:52px;height:52px;border-radius:50%;align-items:center;justify-content:center;border:1px solid rgba(76,199,250,.45);background:linear-gradient(135deg,#4cc7fa,#38bdf8 55%,#818cf8);color:#0a1128;box-shadow:0 8px 24px #040a1a99,0 0 18px #4cc7fa59;z-index:900;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.toc-fab:active{transform:scale(.92);box-shadow:0 4px 14px #040a1a8c,0 0 12px #4cc7fa80}}@media(min-width:1280px){.toc-drawer-mobile{display:none!important}}.toc-drawer-mobile .ant-drawer-content{background:linear-gradient(180deg,#1a2450fa,#121a38fa);border-top:1px solid rgba(76,199,250,.25);border-radius:18px 18px 0 0;box-shadow:0 -12px 40px #03081699}.toc-drawer-mobile .ant-drawer-header{background:transparent;border-bottom:1px solid rgba(232,237,247,.12)}.toc-drawer-mobile .ant-drawer-title{color:#e8edf7!important;font-family:var(--font-display);letter-spacing:.04em}.toc-drawer-mobile .ant-drawer-close{color:#9aa7bd!important}.toc-drawer-mobile .ant-drawer-body{padding:8px 12px 20px}.toc-drawer-mobile .catalog-card{background:transparent;border:none;box-shadow:none;padding:4px;max-height:56vh;overflow-y:auto}.toc-drawer-mobile .catalog-card .catalog-card-title{display:none}.toc-drawer-mobile .catalog-nav-item{padding:10px 12px!important}.toc-drawer-mobile .catalog-nav-text{font-size:15px;white-space:normal;line-height:1.4}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
