@keyframes ph-float{50%{translate:0-7px}}@keyframes ph-spin{to{transform:rotate(360deg)}}*{box-sizing:border-box}html{height:100%;color-scheme:dark}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.ph-site{--ph-bg:#0c0d14;--ph-surface:#161722;--ph-text:#f3f0fa;--ph-muted:#aaa4b8;--ph-line:#ffffff14;--ph-accent:#b5a1ff;--ph-on-accent:#151021;background:var(--ph-bg);color:var(--ph-text);height:100dvh;overflow:hidden}.ph-site[data-ph-mode=light]{color-scheme:light;--ph-bg:#f6f3fb;--ph-text:#201b30;--ph-muted:#6b627a;--ph-line:#33204a22}a,button,input{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--ph-accent);outline-offset:5px}a{color:inherit}.ph-bottom,.ph-topbar{position:fixed;left:0;right:0;z-index:20;background:var(--ph-bg);display:flex;align-items:center;justify-content:space-between;padding-inline:clamp(22px,5vw,84px)}.ph-topbar{top:0;height:calc(82px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--ph-line)}.ph-bottom{bottom:0;min-height:calc(48px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--ph-line);font-size:11px;color:var(--ph-muted);letter-spacing:.01em}.ph-bottom a{text-decoration:none;color:var(--ph-text);font-weight:650}.ph-brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:24px;font-weight:750;letter-spacing:-1px}.ph-brand svg{width:38px;height:38px}.ph-brand-dot,.ph-content h1>span,.ph-tool:hover{color:var(--ph-accent)}.ph-header-note{font-size:9px;letter-spacing:.18em;color:var(--ph-muted)}.ph-tools{display:flex;gap:5px}.ph-tool{width:36px;height:36px;padding:9px;background:0 0;border:1px solid transparent;border-radius:9px;color:var(--ph-muted);display:grid;place-items:center;text-decoration:none}.ph-tool:hover{background:var(--ph-surface);border-color:var(--ph-line)}.ph-close svg,.ph-tool svg{width:18px;height:18px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ph-language{font-size:10px;font-weight:700}.ph-scroll{position:absolute;inset:calc(82px + env(safe-area-inset-top))0 calc(48px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--ph-line) transparent}.ph-main{width:min(1350px,90%);margin:0 auto;min-height:100%;display:grid;grid-template-columns:1fr 1fr;align-content:center;align-items:center;column-gap:12px;padding:30px 0 24px;position:relative}.ph-main::before{content:"";position:absolute;inset:10%0 20% 20%;pointer-events:none;background:radial-gradient(ellipse at 70% 50%,color-mix(in srgb,var(--ph-accent) 7%,transparent),transparent 65%);z-index:-1}.ph-content{z-index:2;padding-left:12px}.ph-eyebrow,.ph-steps li{display:flex;align-items:center}.ph-eyebrow{gap:10px;color:var(--ph-accent);font-size:10px;letter-spacing:.2em;font-weight:650;margin:0 0 25px}.ph-eyebrow>span{width:5px;height:5px;border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--ph-accent) 12%,transparent)}.ph-content h1{font-weight:750;margin:0 0 28px}.ph-content h1>span{display:block;margin-top:3px}.ph-content h2{font-size:clamp(14px,1.4vw,19px);line-height:1.6;font-weight:550;letter-spacing:-.02em;margin:0 0 12px}.ph-intro{font-size:14px;line-height:1.85;color:var(--ph-muted);max-width:420px;margin:0 0 29px}.ph-cta,.ph-eyebrow>span{background:var(--ph-accent)}.ph-cta{display:inline-flex;align-items:center;gap:45px;padding:14px 22px;text-decoration:none;color:var(--ph-on-accent);font-size:14px;font-weight:750;box-shadow:0 7px 24px color-mix(in srgb,var(--ph-accent) 10%,transparent);transition:transform .2s,box-shadow .2s}.ph-cta:hover{transform:translateY(-3px);box-shadow:0 10px 36px color-mix(in srgb,var(--ph-accent) 22%,transparent)}.ph-close svg,.ph-cta svg,.ph-swatch svg,.ph-tool svg{fill:none;stroke:currentColor}.ph-cta svg{width:21px;height:21px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ph-caption{margin:14px 0 0;color:var(--ph-muted);font-size:10px;line-height:1.6}.ph-art{position:relative;align-self:center;min-width:0;color:var(--ph-accent)}.ph-scene{width:100%;max-height:580px;display:block;overflow:visible}.ph-art-mark{position:absolute;font:11px monospace;color:var(--ph-muted);letter-spacing:.15em}.ph-art-caption{display:block;text-align:center;color:var(--ph-muted);font:9px monospace;letter-spacing:.2em}.ph-monitor{animation:ph-float 7s ease-in-out infinite}.ph-pad-one{animation:ph-float 6s ease-in-out infinite reverse}.ph-pad-two{animation:ph-float 8s ease-in-out infinite}.ph-steps{grid-column:1/-1;display:flex;justify-content:space-between;align-items:stretch;list-style:none;gap:30px;padding:24px 12px 0;border-top:1px solid var(--ph-line);margin:40px 0 0}.ph-steps li{gap:12px;font-size:12px;color:var(--ph-muted)}.ph-station{color:var(--ph-accent);font:11px monospace}.ph-limit{grid-column:1/-1;text-align:center;font-size:9px;line-height:1.7;color:var(--ph-muted);margin:23px 0 0;opacity:.8}.ph-palette{position:fixed;right:clamp(20px,5vw,84px);top:calc(72px + env(safe-area-inset-top));z-index:30;width:min(300px,calc(100vw - 28px));padding:18px;background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:15px;box-shadow:0 16px 50px #0004}.ph-palette-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.ph-palette h2{font-size:13px;margin:0}.ph-close{display:grid;place-items:center;background:0 0;border:0;color:var(--ph-muted);width:30px;height:30px}.ph-palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.ph-swatch{background:var(--swatch);color:var(--swatch-ink);aspect-ratio:1;border:0;border-radius:8px;display:grid;place-items:center}.ph-swatch svg{width:18px;height:18px;stroke-width:2;opacity:0}.ph-swatch[aria-pressed=true] svg{opacity:1}.ph-moon,.ph-play,[data-ph-mode=light] .ph-sun{display:none}[data-ph-mode=light] .ph-moon{display:block}[data-ph-paused=true] .ph-pause{display:none}[data-ph-paused=true] .ph-play{display:block}[data-ph-hidden=true] .ph-scene *,[data-ph-paused=true] .ph-scene *{animation-play-state:paused!important}.ph-skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ph-accent);color:var(--ph-on-accent);padding:10px 16px;border-radius:8px}.ph-skip:focus{top:20px}.ph-loader{border:1px solid var(--ph-line);border-radius:18px;background:var(--ph-surface);color:var(--ph-text);padding:30px;box-shadow:0 20px 80px #0004}.ph-loader::backdrop{background:#070713a8;backdrop-filter:blur(7px)}.ph-loader-status{display:flex;align-items:center;gap:16px;font-size:14px}.ph-loader svg{width:30px;height:30px;fill:none;stroke:var(--ph-line);stroke-width:2.5}.ph-loader path{stroke:var(--ph-accent);transform-origin:center;animation:ph-spin .8s linear infinite}[hidden]{display:none!important}@media (min-width:1700px){.ph-content h1{font-size:125px}.ph-main{max-width:1450px}.ph-scene{max-height:670px}}@media (max-width:900px){.ph-header-note{display:none}.ph-main{column-gap:0;width:92%}.ph-content{padding-left:8px}.ph-content h1{font-size:70px}.ph-intro{font-size:12px;max-width:340px}.ph-art{margin-left:-25px}.ph-art-mark{display:none}.ph-steps{gap:18px}.ph-steps li{font-size:10px}.ph-eyebrow{font-size:8px;letter-spacing:.15em}}@media (max-width:640px){.ph-topbar{height:calc(66px + env(safe-area-inset-top));padding-inline:20px}.ph-brand{font-size:20px;gap:8px}.ph-brand svg{width:31px;height:31px}.ph-tools{gap:1px}.ph-tool{width:31px;height:34px;padding:7px}.ph-scroll{top:calc(66px + env(safe-area-inset-top))}.ph-main{display:flex;flex-direction:column;align-items:stretch;width:calc(100% - 44px);padding-top:32px;justify-content:center}.ph-content{padding:0}.ph-content h1{font-size:clamp(62px,15vw,88px)}.ph-content h1,.ph-eyebrow,.ph-intro{margin-bottom:20px}.ph-content h2{font-size:14px}.ph-intro{font-size:12px;max-width:370px}.ph-cta{min-height:48px;gap:36px}.ph-art{margin:10px auto 0;max-width:380px;width:100%}.ph-scene{max-height:340px}.ph-art-caption{font-size:8px}.ph-steps{margin-top:24px;padding:20px 0 0;gap:10px}.ph-steps li{font-size:9px;line-height:1.5;flex-direction:column;align-items:flex-start;gap:7px;flex:1}.ph-limit{font-size:8px;margin-bottom:8px}.ph-bottom{padding-inline:20px;font-size:9px}.ph-palette{top:calc(60px + env(safe-area-inset-top))}}@media (max-height:700px) and (min-width:901px){.ph-main{padding:22px 0 16px}.ph-content h1{font-size:75px;margin-bottom:17px}.ph-eyebrow{margin-bottom:15px}.ph-content h2{font-size:16px}.ph-intro{font-size:12px;line-height:1.7;margin-bottom:20px}.ph-scene{max-height:390px}.ph-steps{margin-top:22px;padding-top:19px}.ph-limit{margin-top:18px}}@media (prefers-reduced-motion:reduce){*,::before{animation:none!important;transition:none!important}}.ph-site{--ph-bg:#100d18;--ph-surface:#1a1525;--ph-text:#f5f0fa;--ph-muted:#b0a5bd;--ph-line:#ddd0ef16}.ph-site[data-ph-mode=light]{--ph-bg:#f6f2fa;--ph-surface:#fff;--ph-text:#271b36;--ph-muted:#72617e;--ph-line:#49305f22}.ph-content h1{font-size:clamp(60px,6.6vw,104px);letter-spacing:-.065em;line-height:1.05}.ph-site[data-ph-lang=vi] .ph-content h1{font-size:clamp(53px,6.15vw,94px)}.ph-art{margin-left:-28px}.ph-scene{filter:drop-shadow(0 20px 26px #09051120)}.ph-world{animation:ph-float 9s ease-in-out infinite}.ph-controller{animation:ph-float 7s ease-in-out infinite reverse}.ph-disc{animation:ph-float 8s ease-in-out infinite}.ph-cta{border-radius:8px;min-height:50px}.ph-art-mark{right:7%;top:10%;font-size:9px}.ph-art-caption{margin-top:0}.ph-steps{margin-top:25px}@media (min-width:1700px){.ph-content h1{font-size:114px}.ph-site[data-ph-lang=vi] .ph-content h1{font-size:100px}}@media (max-width:900px){.ph-content h1{font-size:64px}.ph-site[data-ph-lang=vi] .ph-content h1{font-size:53px}.ph-art{margin-left:-15px}.ph-art-caption{font-size:7px;letter-spacing:.12em}.ph-intro{line-height:1.7}}@media (max-width:640px){.ph-content h1{font-size:clamp(56px,15vw,82px)}.ph-site[data-ph-lang=vi] .ph-content h1{font-size:clamp(46px,12.7vw,72px)}.ph-art{margin:14px auto 0}.ph-scene{max-height:370px}.ph-art-caption{font-size:8px}.ph-steps{margin-top:20px}.ph-content h2{max-width:330px}.ph-main{padding-top:28px}}@media (max-height:700px) and (min-width:901px){.ph-content h1{font-size:70px}.ph-site[data-ph-lang=vi] .ph-content h1{font-size:65px}.ph-scene{max-height:385px}.ph-eyebrow{font-size:9px}.ph-intro{max-width:410px}}.ph-site[data-ph-mode=light][data-ph-color]{--ph-luster:color-mix(in srgb,var(--ph-accent) 35%,#eaf8ef);--ph-deep:color-mix(in srgb,var(--ph-accent) 38%,#152b20)}.ph-site[data-ph-mode=light][data-ph-color=red]{--ph-accent:#b91c1c;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=red]{--swatch:#b91c1c;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=orange]{--ph-accent:#ad3a0c;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=orange]{--swatch:#ad3a0c;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=amber]{--ph-accent:#915000;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=amber]{--swatch:#915000;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=gold]{--ph-accent:#7f5900;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=gold]{--swatch:#7f5900;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=lime]{--ph-accent:#4d6f08;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=lime]{--swatch:#4d6f08;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=green]{--ph-accent:#237336;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=green]{--swatch:#237336;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=emerald]{--ph-accent:#08734e;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=emerald]{--swatch:#08734e;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=teal]{--ph-accent:#08736e;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=teal]{--swatch:#08736e;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=cyan]{--ph-accent:#006d82;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=cyan]{--swatch:#006d82;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=sky]{--ph-accent:#086d9f;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=sky]{--swatch:#086d9f;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=blue]{--ph-accent:#1d58c4;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=blue]{--swatch:#1d58c4;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=indigo]{--ph-accent:#4b3fc6;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=indigo]{--swatch:#4b3fc6;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=violet]{--ph-accent:#6c35be;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=violet]{--swatch:#6c35be;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=purple]{--ph-accent:#8534b7;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=purple]{--swatch:#8534b7;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=fuchsia]{--ph-accent:#a12693;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=fuchsia]{--swatch:#a12693;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=pink]{--ph-accent:#af216f;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=pink]{--swatch:#af216f;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=rose]{--ph-accent:#b91f49;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=rose]{--swatch:#b91f49;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=slate]{--ph-accent:#475569;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=slate]{--swatch:#475569;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=stone]{--ph-accent:#57534e;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=stone]{--swatch:#57534e;--swatch-ink:#ffffff}.ph-site[data-ph-mode=light][data-ph-color=graphite]{--ph-accent:#3e3e46;--ph-on-accent:#ffffff}.ph-site[data-ph-mode=light] [data-ph-palette=graphite]{--swatch:#3e3e46;--swatch-ink:#ffffff}.ph-site[data-ph-mode=dark][data-ph-color]{--ph-luster:color-mix(in srgb,var(--ph-accent) 35%,#eaf8ef);--ph-deep:color-mix(in srgb,var(--ph-accent) 38%,#152b20)}.ph-site[data-ph-mode=dark][data-ph-color=red]{--ph-accent:#ff8c83;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=red]{--swatch:#ff8c83;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=orange]{--ph-accent:#ffac75;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=orange]{--swatch:#ffac75;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=amber]{--ph-accent:#f3bd5b;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=amber]{--swatch:#f3bd5b;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=gold]{--ph-accent:#e2c457;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=gold]{--swatch:#e2c457;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=lime]{--ph-accent:#b5d871;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=lime]{--swatch:#b5d871;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=green]{--ph-accent:#83d99b;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=green]{--swatch:#83d99b;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=emerald]{--ph-accent:#68d3ac;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=emerald]{--swatch:#68d3ac;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=teal]{--ph-accent:#61d4ca;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=teal]{--swatch:#61d4ca;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=cyan]{--ph-accent:#65d0e6;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=cyan]{--swatch:#65d0e6;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=sky]{--ph-accent:#81c6f3;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=sky]{--swatch:#81c6f3;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=blue]{--ph-accent:#9abdff;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=blue]{--swatch:#9abdff;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=indigo]{--ph-accent:#b4adff;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=indigo]{--swatch:#b4adff;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=violet]{--ph-accent:#c5a4fa;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=violet]{--swatch:#c5a4fa;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=purple]{--ph-accent:#d5a0f1;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=purple]{--swatch:#d5a0f1;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=fuchsia]{--ph-accent:#e99bdf;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=fuchsia]{--swatch:#e99bdf;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=pink]{--ph-accent:#f49ec7;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=pink]{--swatch:#f49ec7;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=rose]{--ph-accent:#fa9eb1;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=rose]{--swatch:#fa9eb1;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=slate]{--ph-accent:#b4c3d6;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=slate]{--swatch:#b4c3d6;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=stone]{--ph-accent:#cec5bb;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=stone]{--swatch:#cec5bb;--swatch-ink:#111114}.ph-site[data-ph-mode=dark][data-ph-color=graphite]{--ph-accent:#c6c6d1;--ph-on-accent:#111114}.ph-site[data-ph-mode=dark] [data-ph-palette=graphite]{--swatch:#c6c6d1;--swatch-ink:#111114}