:root{--portal-bg: #f6f9ff;--portal-text: #132143;--portal-muted: #61718f;--portal-primary: #315fff;--portal-primary-dark: #2347cf}.portal-app,.portal-app *{box-sizing:border-box}.portal-app{position:fixed;inset:0;z-index:1000;min-height:100svh;overflow:hidden;color:var(--portal-text);background:var(--portal-bg);font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.portal-app-loading{position:fixed;inset:0;display:grid;place-content:center;gap:14px;color:#536789;background:#f6f9ff;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;letter-spacing:.08em;text-align:center}.portal-app-loading span{width:34px;height:34px;margin:0 auto;border:2px solid rgba(49,95,255,.14);border-top-color:#315fff;border-radius:50%;animation:portal-loading-spin .8s linear infinite}@keyframes portal-loading-spin{to{transform:rotate(360deg)}}.portal-landing{--portal-copy-rx: 0deg;--portal-copy-ry: 0deg;--portal-copy-x: 0px;--portal-copy-y: 0px;--portal-brand-x: 0px;--portal-brand-y: 0px;position:absolute;inset:0;min-height:680px;overflow:hidden;background:var(--portal-bg);perspective:1500px;perspective-origin:29% 46%;transition:opacity .8s ease,transform 1s cubic-bezier(.22,1,.36,1)}.portal-bg-poster,.portal-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.02) brightness(1.01)}.portal-bg-poster{display:block}.portal-bg-video{opacity:0;transition:opacity .45s ease}.portal-bg-video.is-ready{opacity:1}.portal-veil{position:absolute;inset:0;background:linear-gradient(90deg,#f6f9ffeb,#f6f9ffd6 25%,#f6f9ff70 49%,#f6f9ff14 67%,#f6f9ff0d),radial-gradient(circle at 14% 26%,rgba(255,255,255,.42),transparent 26%),radial-gradient(circle at 70% 50%,rgba(255,255,255,.1),transparent 18%);pointer-events:none}.portal-ambient{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 73% 50%,rgba(255,255,255,.12),transparent 14%),radial-gradient(circle at 73% 50%,rgba(91,131,255,.08),transparent 20%);mix-blend-mode:screen}.portal-nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:24px 42px 0}.portal-brand{display:flex;align-items:center;gap:13px;min-height:54px;padding:8px 15px 8px 10px;border:1px solid rgba(98,122,176,.13);border-radius:18px;background:#ffffffd1;box-shadow:0 10px 30px #4665ad14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate3d(var(--portal-brand-x),var(--portal-brand-y),18px);transition:transform .14s linear,box-shadow .22s ease}.portal-brand-mark{position:relative;width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#315ffff0,#74aeffad);box-shadow:0 10px 24px #315fff33;clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%)}.portal-brand-mark:before,.portal-brand-mark:after{position:absolute;inset:6px;border:1px solid rgba(255,255,255,.9);border-radius:8px;clip-path:inherit;content:""}.portal-brand-name{font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:600;line-height:1;letter-spacing:-.01em}.portal-brand-subtitle{margin-top:5px;color:#6e7e9d;font-size:10px;font-weight:600;letter-spacing:.14em}.portal-nav-actions{display:flex;gap:12px}.portal-nav-button{min-width:88px;height:46px;padding:0 20px;border:1px solid rgba(77,109,177,.22);border-radius:14px;color:#3a4b6a;background:#fffc;box-shadow:0 8px 24px #4665ad14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.portal-nav-button:hover,.portal-nav-button:focus-visible{border-color:#315fff61;box-shadow:0 12px 28px #4665ad21;transform:translateY(-1px)}.portal-nav-button.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--portal-primary),var(--portal-primary-dark));box-shadow:0 16px 36px #315fff38}.portal-hero{position:relative;z-index:5;display:flex;align-items:center;height:calc(100% - 78px);padding:0 46px 78px}.portal-copy{width:min(720px,57vw);padding-left:4px}.portal-copy-depth{transform:translate3d(var(--portal-copy-x),var(--portal-copy-y),24px) rotateX(var(--portal-copy-rx)) rotateY(var(--portal-copy-ry));transform-style:preserve-3d;transform-origin:26% 48%;transition:transform 90ms linear;will-change:transform}.portal-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:25px;padding:11px 17px;border:1px solid rgba(92,118,176,.18);border-radius:999px;color:#3f5c9f;background:#ffffffa3;box-shadow:0 10px 30px #4e6db20f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;font-weight:700;letter-spacing:.13em}.portal-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#3865ff;box-shadow:0 0 0 6px #3865ff1a}.portal-headline{max-width:720px;margin:0;color:#162243;font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,STSong,Georgia,serif;font-size:clamp(54px,5vw,78px);font-weight:600;line-height:1.12;letter-spacing:-.055em;text-shadow:0 1px 0 rgba(255,255,255,.96),0 12px 28px rgba(38,65,119,.12),0 30px 60px rgba(48,88,162,.08);text-wrap:balance}.portal-headline span{display:block;opacity:0;transform:translate3d(0,22px,38px);animation:portal-headline-arrive .9s cubic-bezier(.22,1,.36,1) forwards}.portal-headline span:nth-child(2){animation-delay:.11s}@keyframes portal-headline-arrive{to{opacity:1;transform:translateZ(38px)}}.portal-subcopy{max-width:590px;margin:26px 0 0;color:var(--portal-muted);font-size:16px;line-height:1.95;letter-spacing:.015em;transform:translateZ(15px)}.portal-cta-row{display:flex;align-items:center;gap:16px;margin-top:46px}.portal-cta{position:relative;display:inline-flex;align-items:center;gap:16px;overflow:hidden;min-width:208px;height:58px;padding:0 27px;border:0;border-radius:17px;color:#fff;background:linear-gradient(135deg,var(--portal-primary),var(--portal-primary-dark));box-shadow:0 22px 40px #315fff3d;cursor:pointer;font-size:18px;font-weight:600;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.portal-cta:before{position:absolute;inset:-70% auto -70% -30%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);content:"";transform:skew(-24deg) translate(-230%);transition:transform .68s cubic-bezier(.22,1,.36,1)}.portal-cta:hover:before,.portal-cta:focus-visible:before{transform:skew(-24deg) translate(740%)}.portal-cta>span{position:relative;z-index:1}.portal-cta:hover,.portal-cta:focus-visible{box-shadow:0 26px 48px #315fff4d;transform:translateY(-2px)}.portal-arrow{font-size:25px;line-height:1;transition:transform .25s ease}.portal-cta:hover .portal-arrow{transform:translate(3px)}.portal-signal-layer{position:absolute;inset:0;z-index:4;opacity:.78;-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 36%,rgba(0,0,0,.5) 48%,#000 62%);mask-image:linear-gradient(90deg,transparent 0%,transparent 36%,rgba(0,0,0,.5) 48%,#000 62%);pointer-events:none}.portal-signal{position:absolute;color:#50689685;filter:blur(.1px);font-size:14px;letter-spacing:.01em;line-height:1;text-shadow:0 0 12px rgba(255,255,255,.42);transform-origin:center;white-space:nowrap;animation:portal-stream var(--dur, 12s) linear infinite;animation-delay:var(--delay, 0s)}.portal-signal.small{color:#6a7ea761;font-size:12px}.portal-signal.large{color:#596f9a9e;font-size:18px}@keyframes portal-stream{0%{opacity:0;transform:translate(0) scale(1) rotate(var(--rot, 0deg))}8%,70%{opacity:var(--op, .82)}92%{opacity:0}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.92) rotate(var(--rot, 0deg))}}.portal-focus{position:absolute;z-index:3;top:50.4%;left:72.8%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 64%);box-shadow:0 0 0 1px #ffffff29,0 0 60px #ffffff38;pointer-events:none;transform:translate(-50%,-50%);animation:portal-focus-pulse 4.2s ease-in-out infinite}@keyframes portal-focus-pulse{0%,to{opacity:.22;transform:translate(-50%,-50%) scale(.94)}50%{opacity:.48;transform:translate(-50%,-50%) scale(1.06)}}.portal-transition{position:absolute;inset:0;z-index:8;opacity:0;background:radial-gradient(circle at 72.8% 50.4%,#fff 0%,rgba(246,249,255,.95) 8%,rgba(210,226,255,.5) 16%,transparent 36%);pointer-events:none;transform:scale(.75);transition:opacity .85s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}.portal-landing.is-entering{opacity:0;transform:scale(1.04)}.portal-landing.is-entering .portal-transition{opacity:1;transform:scale(3)}.portal-dialog-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:24px;background:#13214329;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:portal-dialog-fade .2s ease both}.portal-dialog{position:relative;width:min(440px,100%);padding:34px;border:1px solid rgba(90,120,180,.16);border-radius:26px;background:#fffffff5;box-shadow:0 32px 100px #1e377338}.portal-dialog-kicker{color:#315fff;font-size:11px;font-weight:700;letter-spacing:.16em}.portal-dialog h2{margin:12px 0 0;color:#182746;font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,STSong,Georgia,serif;font-size:28px}.portal-dialog p{margin:16px 0 0;color:#687896;font-size:14px;line-height:1.8}.portal-dialog-close{position:absolute;top:16px;right:18px;width:34px;height:34px;border:0;border-radius:50%;color:#637392;background:#f1f5fc;cursor:pointer;font-size:22px}.portal-dialog-action{width:100%;height:50px;margin-top:24px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--portal-primary),var(--portal-primary-dark));box-shadow:0 16px 30px #315fff33;cursor:pointer;font-weight:650}@keyframes portal-dialog-fade{0%{opacity:0}to{opacity:1}}@media(max-width:1200px){.portal-copy{width:min(660px,62vw)}.portal-headline{font-size:clamp(50px,5.3vw,68px)}}@media(max-width:860px){.portal-landing{min-height:640px}.portal-nav{padding:18px 18px 0}.portal-brand{padding-right:12px}.portal-brand-name{font-size:20px}.portal-brand-subtitle{letter-spacing:.08em}.portal-nav-actions{gap:8px}.portal-nav-button{min-width:auto;height:42px;padding:0 13px;font-size:13px}.portal-hero{align-items:center;height:calc(100% - 72px);padding:20px 20px 54px}.portal-copy{width:100%;max-width:620px}.portal-headline{max-width:570px;font-size:clamp(42px,9vw,56px);line-height:1.14}.portal-subcopy{max-width:520px;font-size:15px}.portal-signal-layer,.portal-focus{opacity:.54}}@media(max-width:560px){.portal-brand{min-height:48px;padding:7px 10px 7px 8px}.portal-brand-mark{width:32px;height:32px}.portal-brand-subtitle,.portal-nav-button:first-child{display:none}.portal-hero{align-items:flex-start;padding-top:11vh}.portal-eyebrow{margin-bottom:22px;padding:10px 13px;font-size:10px;letter-spacing:.08em}.portal-headline{font-size:clamp(39px,11.5vw,50px);letter-spacing:-.06em}.portal-subcopy{margin-top:22px;line-height:1.8}.portal-cta-row{margin-top:36px}.portal-cta{min-width:196px;height:54px;padding:0 23px;font-size:17px}.portal-signal-layer,.portal-focus{display:none}.portal-dialog{padding:30px 24px 24px}}@media(max-height:720px)and (min-width:861px){.portal-eyebrow{margin-bottom:18px}.portal-headline{font-size:58px}.portal-subcopy{margin-top:18px}.portal-cta-row{margin-top:32px}}@media(prefers-reduced-motion:reduce){.portal-ambient,.portal-brand,.portal-copy-depth,.portal-signal,.portal-focus,.portal-headline span{transform:none;animation:none;opacity:1}.portal-landing,.portal-transition,.portal-cta,.portal-arrow,.portal-nav-button{transition-duration:.01ms}}.portal-auth-form{display:grid;gap:13px;margin-top:18px}.portal-auth-form label{display:grid;gap:6px;color:#334861;font-size:12px;font-weight:700;text-align:left}.portal-auth-form input{width:100%;box-sizing:border-box;padding:11px 12px;color:#17263a;border:1px solid #aebdce;border-radius:9px;outline:none;background:#fff;box-shadow:inset 0 1px 2px #1830520d;font:inherit}.portal-auth-form input::placeholder{color:#74859a;opacity:1}.portal-auth-form input:hover{border-color:#7892b3}.portal-auth-form input:focus{border-color:#315fff;box-shadow:0 0 0 3px #315fff29}.portal-auth-message{margin:0;padding:9px 11px;border-radius:8px;font-size:12px;font-weight:650;text-align:left}.portal-auth-message.error{color:#8f1d1d;background:#fff0f0;border:1px solid #f1b6b6}.portal-auth-message.success{color:#17623e;background:#ecfbf3;border:1px solid #a8ddbe}.portal-auth-switch{color:#2858ad;border:0;background:transparent;cursor:pointer;font-weight:700}.portal-auth-switch:hover,.portal-auth-switch:focus-visible{color:#173e84;text-decoration:underline}
