:root{--ph-bg: #1a1a1a;--ph-bg-soft: #20202080;--ph-surface: #202020;--ph-surface-strong: #262626;--ph-border: #2c2c2c;--ph-border-strong: #3a3a3a;--ph-text: #f5f5f5;--ph-text-2: #9b9b9b;--ph-text-3: #6e6e6e;--ph-pink: #e9599f;--ph-cyan: #38bdf8;--ph-amber: #f0a13e;--ph-green: #4ade80;--ph-red: #f87171;--ph-grad: linear-gradient(92deg, #e0559f 4%, #f0a13e 96%);--ph-radius: 20px;--ph-radius-sm: 12px;--ph-nav-h: 64px;--ph-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ph-bg);color:var(--ph-text);font-family:var(--ph-font);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:-2;background:radial-gradient(46rem 30rem at 16% 4%,rgba(224,85,159,.42),transparent 62%),radial-gradient(44rem 28rem at 84% 8%,rgba(124,92,255,.38),transparent 62%),radial-gradient(38rem 26rem at 72% 44%,rgba(56,189,248,.22),transparent 65%),radial-gradient(40rem 26rem at 12% 62%,rgba(240,130,62,.26),transparent 65%),radial-gradient(50rem 34rem at 50% 104%,rgba(168,85,247,.28),transparent 66%),linear-gradient(158deg,#241a26,#1c1a28 38%,#16171f 68%,#141317);animation:ph-bg-drift 34s ease-in-out infinite alternate;will-change:transform}@keyframes ph-bg-drift{0%{transform:translate3d(-1.6%,-1.2%,0) scale(1.05)}to{transform:translate3d(1.6%,1.2%,0) scale(1.12)}}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(58rem 40rem at 50% 34%,rgba(124,92,255,.16),transparent 70%),radial-gradient(rgba(255,255,255,.075) 1px,transparent 1.4px);background-size:100% 100%,26px 26px;-webkit-mask-image:radial-gradient(84rem 56rem at 50% 26%,#000 0%,transparent 78%);mask-image:radial-gradient(84rem 56rem at 50% 26%,#000 0%,transparent 78%)}a{color:inherit;text-decoration:none}button{font-family:inherit}::selection{background:#e0559f73}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:5px}::-webkit-scrollbar-track{background:transparent}.ph-container{max-width:1120px;margin:0 auto;padding:0 24px}.ph-nav{position:absolute;top:0;left:0;right:0;z-index:100;height:var(--ph-nav-h);pointer-events:none}.ph-nav-inner{max-width:1240px;margin:0 auto;padding:14px 24px 0;height:100%;display:flex;align-items:center;justify-content:space-between;pointer-events:auto}.ph-logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:19px;letter-spacing:-.2px;color:var(--ph-text-2)}.ph-logo em{font-style:normal;color:var(--ph-text)}.ph-logo .spark{color:var(--ph-amber);font-size:13px;margin-left:-2px;transform:translateY(-6px)}.ph-nav-links{display:flex;align-items:center;gap:2px}.ph-nav-link{padding:7px 13px;border-radius:999px;font-size:13.5px;color:var(--ph-text-2);transition:color .15s,background .15s}.ph-nav-link:hover{color:var(--ph-text);background:var(--ph-surface-strong)}.ph-nav-link.is-active{color:var(--ph-text)}.ph-nav-spacer{flex:1}.ph-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 22px;border-radius:999px;border:1px solid var(--ph-border-strong);background:var(--ph-surface-strong);color:var(--ph-text);font-size:14px;font-weight:600;cursor:pointer;transition:transform .12s,filter .15s,background .2s,border-color .2s;-webkit-user-select:none;user-select:none}.ph-btn:hover{background:#303030;border-color:var(--ph-border-strong)}.ph-btn:active{transform:scale(.97)}.ph-btn:disabled{opacity:.5;cursor:not-allowed}.ph-btn--primary{border:none;background:#f5f5f5;color:#141414;padding:13px 26px;font-size:14.5px}.ph-btn--primary:hover{background:#fff}.ph-btn--ghost{background:transparent;border-color:var(--ph-border);color:var(--ph-text-2)}.ph-btn--ghost:hover{color:var(--ph-text);background:var(--ph-surface)}.ph-btn--danger{border-color:#f8717180;color:var(--ph-red)}.ph-btn--sm{padding:6px 14px;font-size:12.5px}.ph-panel{background:var(--ph-surface);border:1px solid var(--ph-border);border-radius:var(--ph-radius);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ph-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--ph-border);font-size:14px;font-weight:700}.ph-panel-body{padding:16px 18px}.ph-tag{display:inline-flex;align-items:center;gap:4px;padding:2.5px 10px;border-radius:999px;border:1px solid var(--ph-border-strong);background:var(--ph-surface);color:var(--ph-text-2);font-size:11.5px;line-height:1.7;white-space:nowrap}.ph-tag--violet{border-color:#8b5cf680;color:#c4b5fd;background:#8b5cf61f}.ph-tag--cyan{border-color:#22d3ee73;color:#67e8f9;background:#22d3ee1a}.ph-tag--amber{border-color:#fbbf2473;color:#fcd34d;background:#fbbf241a}.ph-tag--green{border-color:#4ade8073;color:#86efac;background:#4ade801a}.ph-tag--red{border-color:#f8717180;color:#fca5a5;background:#f871711a}.ph-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:var(--ph-nav-h) 24px 40px}.ph-hero-stack{position:relative;z-index:2;max-width:720px;display:flex;flex-direction:column;align-items:center}.ph-hero-mark{font-size:22px;font-weight:700;letter-spacing:-.2px;color:var(--ph-text-2);margin-bottom:26px}.ph-hero-mark .spark{color:var(--ph-amber);font-size:14px;margin-left:-3px;transform:translateY(-8px);display:inline-block}.ph-hero-title{margin:0;font-size:clamp(44px,7.6vw,78px);line-height:1.16;font-weight:700;letter-spacing:.5px;color:var(--ph-text)}.ph-hero-word{display:inline-block}.ph-hero-grad{display:block;background:var(--ph-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ph-hero-sub{margin:22px auto 0;max-width:480px;color:var(--ph-text-2);font-size:16px;line-height:1.85}.ph-hero-sub a{text-decoration:underline;text-decoration-color:#ffffff59;text-underline-offset:4px;transition:color .15s,text-decoration-color .15s}.ph-hero-sub a:hover{color:var(--ph-text);text-decoration-color:#ffffffb3}.ph-hero-cta{margin-top:30px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.ph-hero-more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:var(--ph-text-2);font-size:14px;transition:color .15s}.ph-hero-more:hover{color:var(--ph-text)}.ph-posters{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.ph-poster{position:absolute;border-radius:18px;overflow:hidden;border:3px solid rgba(255,255,255,.92);box-shadow:0 18px 50px #00000080;animation:ph-float 6s ease-in-out infinite alternate}.ph-poster img{display:block;width:100%;height:100%;object-fit:cover}@keyframes ph-float{0%{transform:translateY(-7px) rotate(var(--ph-rot, 0deg))}to{transform:translateY(7px) rotate(var(--ph-rot, 0deg))}}@media (max-width: 1180px){.ph-poster{display:none}.ph-poster--keep{display:block}}@media (max-width: 720px){.ph-poster{display:none}}.ph-sec{padding:34px 0 10px}.ph-sec-title{display:flex;align-items:baseline;gap:12px;margin:0 0 6px;font-size:22px;font-weight:800;letter-spacing:.2px}.ph-sec-title em{font-style:normal;font-size:12px;font-weight:600;color:var(--ph-text-3);letter-spacing:1.5px;text-transform:uppercase}.ph-sec-sub{margin:0 0 22px;color:var(--ph-text-2);font-size:13.5px}.ph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}@media (max-width: 960px){.ph-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 620px){.ph-grid{grid-template-columns:1fr}}.ph-gcard{position:relative;display:flex;flex-direction:column;border-radius:var(--ph-radius);border:1px solid var(--ph-border);background:var(--ph-surface);overflow:hidden;cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.ph-gcard:hover{transform:translateY(-4px);border-color:var(--ph-border-strong);box-shadow:0 16px 44px #0000006b}.ph-gcard-thumb{position:relative;aspect-ratio:16 / 10;background:#141414;border-bottom:1px solid var(--ph-border);overflow:hidden}.ph-gcard-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.ph-gcard:hover .ph-gcard-thumb img{transform:scale(1.04)}.ph-gcard-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 15px;flex:1}.ph-gcard-body .sub{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ph-accent, #8b5cf6);font-weight:700}.ph-gcard-body h3{margin:0;font-size:16.5px;font-weight:700}.ph-gcard-body p{margin:0;font-size:12.8px;line-height:1.65;color:var(--ph-text-2);flex:1}.ph-gcard-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.ph-gcard-tags{display:flex;gap:5px;flex-wrap:wrap}.ph-gcard-go{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--ph-accent, #8b5cf6);white-space:nowrap}.ph-gcard--planned{cursor:default;opacity:.72;filter:saturate(.6)}.ph-gcard--planned:hover{transform:none;box-shadow:none;border-color:var(--ph-border)}.ph-gcard-soon{position:absolute;top:12px;right:12px;padding:3px 10px;border-radius:999px;background:#0b0d16b8;border:1px solid var(--ph-border-strong);color:var(--ph-text-2);font-size:11px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ph-input,.ph-textarea{width:100%;padding:9px 13px;border-radius:var(--ph-radius-sm);border:1px solid var(--ph-border-strong);background:#ffffff08;color:var(--ph-text);font-size:13.5px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.ph-input:focus,.ph-textarea:focus{border-color:#fff6;box-shadow:0 0 0 3px #ffffff14}.ph-input::placeholder,.ph-textarea::placeholder{color:var(--ph-text-3)}.ph-textarea{resize:vertical;min-height:58px;line-height:1.6}.ph-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;border-radius:3px;background:#ffffff1f;outline:none;cursor:pointer}.ph-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#f5f5f5;border:none;cursor:pointer}.ph-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#f5f5f5;border:none;cursor:pointer}.ph-switch{position:relative;width:38px;height:21px;border-radius:999px;border:1px solid var(--ph-border-strong);background:#ffffff14;cursor:pointer;transition:background .18s,border-color .18s;flex-shrink:0}.ph-switch:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#cbd5e1;transition:transform .18s,background .18s}.ph-switch.is-on{background:var(--ph-grad);border-color:transparent}.ph-switch.is-on:after{transform:translate(17px);background:#fff}.ph-progress{height:7px;border-radius:4px;background:#ffffff14;overflow:hidden}.ph-progress>span{display:block;height:100%;border-radius:4px;background:var(--ph-grad);transition:width .18s ease}.ph-alert{display:flex;gap:9px;padding:10px 14px;border-radius:var(--ph-radius-sm);font-size:12.8px;line-height:1.65;border:1px solid rgba(251,191,36,.4);background:#fbbf2414;color:#fcd34d}.ph-alert--error{border-color:#f8717173;background:#f8717114;color:#fca5a5}.ph-alert--success{border-color:#4ade8073;background:#4ade8014;color:#86efac}.ph-toast-host{position:fixed;top:calc(var(--ph-nav-h) + 14px);left:50%;transform:translate(-50%);z-index:3000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.ph-toast{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:12px;background:#111422eb;border:1px solid var(--ph-border-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:13.5px;box-shadow:0 10px 34px #00000080;max-width:min(86vw,480px)}.ph-toast--success{border-color:#4ade8080}.ph-toast--error{border-color:#f8717180}.ph-toast--warning{border-color:#fbbf2480}.ph-footer{margin-top:60px;border-top:1px solid var(--ph-border);padding:30px 0 44px}.ph-footer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ph-footer-brand{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.ph-footer-brand .ph-logo{font-size:16px}.ph-footer-links{display:flex;gap:20px;font-size:13.5px;color:var(--ph-text-2)}.ph-footer-links a:hover{color:var(--ph-text)}.ph-footer-meta{font-size:12.5px;color:var(--ph-text-3)}.ph-footer-bottom{margin-top:26px;padding-top:18px;border-top:1px solid var(--ph-border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--ph-text-3)}.ph-page{padding-top:var(--ph-nav-h);min-height:100vh;display:flex;flex-direction:column}.ph-page-main{flex:1}.ph-breadcrumb{display:flex;align-items:center;gap:8px;padding:18px 0 4px;font-size:13px;color:var(--ph-text-3)}.ph-breadcrumb a:hover{color:var(--ph-text-2)}.ph-breadcrumb .sep{opacity:.5}.ph-breadcrumb b{color:var(--ph-text);font-weight:600}.ph-cols{display:grid;gap:18px}.ph-cols--74{grid-template-columns:7fr 5fr}.ph-cols--73{grid-template-columns:7fr 3fr}.ph-cols--55{grid-template-columns:1fr 1fr}@media (max-width: 860px){.ph-cols--74,.ph-cols--73,.ph-cols--55{grid-template-columns:1fr}}.ph-kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:13px}.ph-kv dt{color:var(--ph-text-3);white-space:nowrap}.ph-kv dd{margin:0;color:var(--ph-text);word-break:break-all}.ph-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:#ffffff0f;border:1px solid var(--ph-border);border-radius:6px;padding:1px 7px;cursor:pointer}.ph-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#05070fb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.ph-modal{background:#232323;border:1px solid var(--ph-border-strong);border-radius:18px;padding:22px;max-width:min(90vw,420px);text-align:center;box-shadow:0 24px 80px #0009}.ph-modal h3{margin:0 0 14px;font-size:15.5px}.lab-grid{display:grid;grid-template-columns:10fr 7fr 7fr;gap:18px;align-items:start}@media (max-width: 1080px){.lab-grid{grid-template-columns:1fr}}.ph-teaser{position:relative;padding:130px 24px;text-align:center;overflow:hidden}.ph-teaser:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(34rem 16rem at 18% 30%,rgba(224,85,159,.07),transparent 60%),radial-gradient(30rem 14rem at 84% 72%,rgba(240,161,62,.06),transparent 60%);pointer-events:none}.ph-teaser-title{position:relative;margin:0;font-size:clamp(30px,4.6vw,46px);font-weight:700;letter-spacing:.5px;background:var(--ph-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ph-teaser-cta{position:relative;margin-top:30px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.ph-howto{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ph-border);border-radius:var(--ph-radius);background:var(--ph-surface);overflow:hidden}.ph-howto-item{padding:18px 20px;border-left:1px solid var(--ph-border)}.ph-howto-item:first-child{border-left:none}.ph-howto-title{font-weight:700;font-size:13.5px;margin-bottom:6px}.ph-howto-desc{color:var(--ph-text-2);font-size:12.5px;line-height:1.7}@media (max-width: 860px){.ph-howto{grid-template-columns:1fr 1fr}.ph-howto-item:nth-child(3){border-left:none}.ph-howto-item:nth-child(n+3){border-top:1px solid var(--ph-border)}}@media (max-width: 520px){.ph-howto{grid-template-columns:1fr}.ph-howto-item{border-left:none}.ph-howto-item+.ph-howto-item{border-top:1px solid var(--ph-border)}}.ph-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ph-grow{flex:1}.ph-muted{color:var(--ph-text-2)}.ph-dim{color:var(--ph-text-3)}.ph-small{font-size:12px}.ph-gap8{display:flex;gap:8px;flex-wrap:wrap}
