/* Readable portal scale, live data strip and motion layers. */
body{padding-bottom:100px}
.portal-wrap,.nav-shell{width:min(1240px,calc(100% - 40px))}
.main-nav>a{font-size:11px}.account-link,.nav-download{font-size:11px}
.portal-columns{grid-template-columns:178px minmax(0,1fr) 216px;gap:15px}
.portal-panel-title{height:39px}.portal-panel-title h2{font-size:12px}.portal-panel-title>a,.portal-panel-title>span{font-size:8px}
.portal-menu>a{font-size:12px;padding-block:10px}
.portal-news-row h3{font-size:12px}.portal-news-row p{font-size:11px}.portal-news-badge{font-size:8px}
.portal-news-row{padding-block:12px}.portal-account h3{font-size:18px}.portal-account p,.portal-ranking p{font-size:12px;line-height:1.75}
.portal-solid-button,.portal-download>a,.portal-small-link{font-size:9px}.portal-download h3{font-size:16px}.portal-ranking h3{font-size:17px}
.portal-support b{font-size:12px}.portal-support span{font-size:11px}
.portal-feature-tabs>[role=tab]{font-size:10px}.portal-feature-tabs{height:40px}
.feature-copy{align-self:start;padding:20px 19px 20px 0}
.feature-copy>.portal-kicker{font-size:9px;letter-spacing:.08em}
.feature-copy h2{font-size:29px;line-height:1.22;margin:9px 0 12px;color:#f6dbab;text-shadow:0 2px 6px #000b;position:relative;z-index:4}
.feature-copy>p{font-size:13px;line-height:1.75;color:#c6ad83;margin-bottom:15px}
.portal-feature-link{font-size:10px;padding:11px 14px}
.portal-feature-slide{min-height:245px}.feature-marriage .feature-copy{background:linear-gradient(90deg,#1e0e0abb,#170b08cc)}
.portal-class-copy #class-description{font-size:12px;line-height:1.8}.portal-class-copy #class-style{font-size:8px}
.portal-class-tabs button{font-size:11px}.portal-class-copy>.portal-small-link{font-size:9px}
.portal-discovery p{font-size:11px}.portal-discovery>a>div>span{font-size:8px}.portal-discovery h2{font-size:18px}
.portal-fairplay>p{font-size:12px}.portal-forbidden span{font-size:9px}.portal-fairplay>.portal-small-link{font-size:8px}

.portal-mast{height:206px;border-color:#b68b4ea0;background-color:#160c08;overflow:clip}
.portal-mast-center{margin-top:19px;z-index:5;max-width:57%}
.portal-mast-center>.portal-kicker{font-size:9px;color:#d5ad6b;letter-spacing:.12em}
.portal-mast-logo{position:relative;width:405px;max-width:100%;margin-top:9px;animation:v4-logo-breathe 5.8s ease-in-out infinite}
.motion-logo{display:block;position:relative;width:100%;aspect-ratio:1100/276;isolation:isolate;pointer-events:none}
.motion-logo img{position:absolute;z-index:1;left:50%;top:50%;width:137.25%;height:auto;max-width:none;transform:translate(-50%,-50%);mix-blend-mode:screen}
.portal-mast-logo .logo-light-scan{display:none}
.portal-main~.announcement-launcher{display:none}
.portal-mast h1{font-size:18px;margin-top:7px;color:#efcf94;letter-spacing:0}
.portal-mast h1 em{color:#c19a62}
.logo-light-scan{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(108deg,transparent 40%,#fff4caa0 47%,#f1a53b88 50%,transparent 57%) 180% 0/270% 100% no-repeat;-webkit-mask:url('assets/hard2008-logo.webp') center/contain no-repeat;mask:url('assets/hard2008-logo.webp') center/contain no-repeat;mix-blend-mode:screen;animation:v4-logo-scan 7s ease-in-out infinite}
.portal-mast-warrior,.portal-mast-ninja{z-index:3;object-fit:contain;max-width:none;filter:drop-shadow(0 0 13px #e8a02c40) drop-shadow(0 8px 9px #000b);transform-origin:50% 80%;will-change:transform;animation:v4-character-breathe 5s ease-in-out infinite}
.portal-mast-warrior{height:270px;bottom:-74px;left:58px;--tilt:-1.3deg}
.portal-mast-ninja{height:282px;bottom:-85px;right:76px;--tilt:1.3deg;animation-delay:-2.3s}
.portal-sparks{opacity:.6}
.mast-effects,.mast-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.mast-effects{z-index:2}
.mast-orbit{position:absolute;border-radius:50%;left:50%;top:50%;width:505px;height:505px;margin:-252.5px 0 0 -252.5px;border:1px solid #d6a75066;border-top-color:#f1be68cc;border-bottom-color:#9d411c55;box-shadow:inset 0 0 25px #be752013,0 0 15px #d89c2422;animation:v4-orbit 24s linear infinite}
.mast-orbit:before,.mast-orbit:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#eeb557;box-shadow:0 0 13px 3px #f8ad4580;left:50%;top:-3px}
.mast-orbit:after{top:auto;bottom:-3px;left:35%;width:3px;height:3px}
.orbit-two{width:447px;height:447px;margin:-223.5px 0 0 -223.5px;border-style:dashed;border-color:#ad7d2e59;animation-direction:reverse;animation-duration:38s;opacity:.6}
.mast-light{position:absolute;width:150px;height:240px;bottom:-70px;background:radial-gradient(ellipse,#d792343e,#be522421 42%,transparent 72%);filter:blur(10px);mix-blend-mode:screen;animation:v4-light-breathe 4s ease-in-out infinite alternate}
.light-left{left:5%}.light-right{right:6%;animation-delay:-2s;background:radial-gradient(ellipse,#eca44a44,#a332181f 45%,transparent 72%)}
.mast-sweep{position:absolute;inset:-30%;background:linear-gradient(105deg,transparent 42%,#df9f3440 50%,transparent 58%);transform:translateX(-110%);animation:v4-mast-sweep 10s ease-in-out infinite;mix-blend-mode:screen;opacity:.4}
.mast-particles>i{position:absolute;bottom:-10px;left:var(--x);width:var(--size);height:calc(var(--size)*1.6);background:#f6c36c;border-radius:50%;box-shadow:0 0 7px 1px #e8a43b88;opacity:0;--drift:-18px;animation:v4-ember-rise var(--duration) linear infinite;animation-delay:var(--delay)}
.mast-particles>i:nth-child(even){--drift:25px;background:#e17d36}
.portal-explore-cta{position:absolute;right:17px;bottom:15px;z-index:7;display:flex;align-items:center;gap:9px;min-height:49px;padding:10px 12px;background:linear-gradient(135deg,#762a17eb,#35150cfa);border:1px solid #d0a25b99;box-shadow:inset 0 0 0 3px #160c0890,0 0 16px #a45b292e;color:#e9c181;overflow:hidden;transition:transform .2s,filter .2s;animation:v4-cta-light 4s ease-in-out infinite}
.portal-explore-cta:before,.announcement-launcher:before,.portal-join-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#f4c16b26 49%,transparent 62%);transform:translateX(-150%);animation:v4-button-shine 7s ease-in-out infinite;pointer-events:none}
.portal-explore-cta .explore-sigil{width:28px;height:28px;flex-shrink:0;color:#f0c271}
.explore-sigil svg{width:100%;height:100%}
.portal-explore-cta small{display:block;font-size:7px;letter-spacing:.1em;color:#bc935c;line-height:1.4}
.portal-explore-cta strong{display:block;font-size:10px;letter-spacing:.035em;margin-top:3px;color:#f0d39e;line-height:1.4}
.portal-explore-cta>svg{width:15px;height:15px;margin-left:4px;color:#d3a15c}
.portal-explore-cta:hover{filter:brightness(1.2);transform:translateY(-2px)}

.portal-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #aa7c3f66;border-top:0;background:linear-gradient(#2b180e,#100b08);min-height:48px}
.portal-stats>div{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 8px;border-right:1px solid #8e612b55;min-width:0}
.portal-stats>div:last-child{border:0}
.portal-stats strong{font:700 21px/1.15 var(--serif);color:#f4d392;min-width:20px;font-variant-numeric:tabular-nums;text-shadow:0 0 12px #b87c2022}
.portal-stats>div>span{font-size:8px;line-height:1.5;letter-spacing:.04em;color:#bfa06e}
.stat-updated{animation:v4-stat-refresh .65s ease both}
.portal-join{display:grid;grid-template-columns:1fr 3.7fr 1fr;align-items:center;gap:14px;margin:14px 0 16px;padding:5px 4px;scroll-margin-top:20px}
.join-side{display:flex;align-items:center;justify-content:center;gap:7px;color:#bc9456;border-block:1px solid #93652c55;padding:13px 0;font-size:12px}
.join-side b{font:600 11px var(--serif);white-space:nowrap}
.portal-join-cta{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;min-height:64px;border:1px solid #c5954e;background:linear-gradient(130deg,#8d2a15,#5f1d10 55%,#35140b);box-shadow:inset 0 0 0 3px #211006,0 0 0 3px #b8833033,0 0 22px #ab502122;padding:10px 18px;color:#f2d49d;overflow:hidden;transition:filter .2s,transform .2s}
.portal-join-cta:hover{filter:brightness(1.15);transform:translateY(-2px)}
.join-icon{display:grid;place-items:center;border:1px solid #d5a95c80;background:#bc8c2933;width:34px;height:38px;flex-shrink:0}
.join-icon svg{width:22px;height:22px}
.portal-join-cta>span:nth-child(2){flex:1}
.portal-join-cta strong{font:600 19px/1.3 var(--serif);display:block;color:#f8dda5}
.portal-join-cta small{font-size:7px;display:block;margin-top:5px;letter-spacing:.07em;color:#caa36b}
.portal-join-cta>b{font-size:9px;display:flex;align-items:center;gap:15px;white-space:nowrap}
.portal-join-cta>b svg{width:16px;height:16px}
.portal-trade-note{display:none}
.legal-inline-card{display:flex;align-items:center;gap:18px;padding:20px 23px;border:1px solid #9d713a55;border-left:2px solid #b88944;background:linear-gradient(110deg,#4d251344,#160f09);margin-top:28px;scroll-margin-top:75px}
.legal-icon{width:39px;height:39px;color:#c79d55;flex-shrink:0}.legal-icon svg{width:100%;height:100%}
.legal-inline-card>div{flex:1}.legal-inline-card h3{font-size:22px;color:#dec18e;margin:0 0 8px}.legal-inline-card p{font-size:12px;color:#a58b64;line-height:1.8;margin:0}
.legal-inline-card button{display:flex;align-items:center;gap:17px;border:1px solid #a1763f88;background:#3c201355;padding:12px 17px;color:#d6b379;font-size:10px;font-weight:700;white-space:nowrap}
.legal-inline-card button svg{width:15px;height:15px}
.legal-inline-card button:hover{background:#66301880}

.launch-dock{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(1000px,calc(100% - 40px));min-height:66px;padding:10px 17px;display:flex;align-items:center;gap:25px;border:1px solid #c29a5a99;box-shadow:inset 0 0 0 3px #140a06,0 0 0 3px #b6803022,0 8px 35px #000c;background:linear-gradient(100deg,#42170ff5,#160c08fa 60%,#2b160af5);backdrop-filter:blur(12px);z-index:45}
.launch-dock:before{content:"";position:absolute;left:22%;right:22%;height:1px;top:-1px;background:linear-gradient(90deg,transparent,#f3cb7a,transparent);box-shadow:0 0 10px #c58b3e88}
.dock-date{display:flex;align-items:center;gap:12px;flex:1;color:#d4aa66}
.dock-date>svg{width:27px;height:27px;flex-shrink:0}
.dock-date small{display:block;font-size:7px;letter-spacing:.14em;color:#b48c53;margin-bottom:4px}
.dock-date strong{font:600 15px var(--serif);color:#edce94;white-space:nowrap}
.dock-date em{font-style:normal;font-size:11px;color:#b49260}
.dock-countdown{display:flex;align-items:center;gap:19px;text-align:center}
.dock-countdown>span{min-width:34px}
.dock-countdown b{display:block;font:500 24px/1 var(--serif);color:#edc77e;font-variant-numeric:tabular-nums;min-width:34px}
.dock-countdown small{display:block;font-size:6px;letter-spacing:.08em;color:#ae8851;margin-top:5px}
.dock-download{display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #b48a4e77;background:linear-gradient(135deg,#8a2e19,#4e190d);padding:12px 15px;font-size:9px;font-weight:700;color:#edd09b;white-space:nowrap;transition:filter .2s}
.dock-download>svg{width:15px;height:15px}.dock-download:hover{filter:brightness(1.2)}
.announcement-launcher{left:auto;right:20px;bottom:98px;min-height:43px;padding:9px 12px;width:auto;gap:9px;background:linear-gradient(135deg,#672715f7,#1a100af5);border:1px solid #c2965299;box-shadow:inset 0 0 0 3px #170c0780,0 0 15px #9d5a2926;font-size:8px;letter-spacing:.04em;overflow:hidden;animation:v4-cta-light 5s ease-in-out infinite;z-index:44}
.launcher-seal{width:25px;height:25px;border:0;background:none;box-shadow:none;padding:0}
.launcher-seal>svg{width:25px;height:25px;color:#e9bb70}
.announcement-launcher>svg{width:13px;height:13px}
.announcement-dialog{width:min(640px,calc(100vw - 30px));max-height:90dvh}
.announcement-card{min-height:0}
.announcement-body{padding:29px 43px 22px}
.announcement-logo{max-width:370px;margin:13px auto 16px}
.announcement-kicker{font-size:8px}
.announcement-body h2{font-size:30px;line-height:1.2;margin:17px 0 16px}
.announcement-body>p{font-size:12px;line-height:1.8;margin:0 auto 21px;max-width:440px}
.announcement-overline{font-size:8px}.announcement-points{margin:0 auto 20px;padding:13px;font-size:8px}
.announcement-opening{margin-top:0}.announcement-opening>strong{font-size:39px}.announcement-opening>b{font-size:8px}.announcement-links{margin-top:19px}
.announcement-art img{animation:v4-character-breathe 6s ease-in-out infinite;--tilt:0deg}.announcement-art .announcement-heroine{animation-delay:-3s}
.announcement-domain{margin-top:18px;font-size:10px}
@keyframes v4-character-breathe{0%,100%{transform:translateY(0) rotate(var(--tilt,0deg)) scale(1)}50%{transform:translateY(-4px) rotate(calc(var(--tilt,0deg)*-0.35)) scale(1.012)}}
@keyframes v4-logo-breathe{0%,100%{filter:drop-shadow(0 0 10px #b36d2730);transform:scale(1)}50%{filter:drop-shadow(0 0 20px #e3a13f66);transform:scale(1.014)}}
@keyframes v4-logo-scan{0%,30%{background-position:180% 0;opacity:0}35%{opacity:.65}65%{background-position:-80% 0;opacity:.65}72%,100%{background-position:-80% 0;opacity:0}}
@keyframes v4-orbit{to{transform:rotate(360deg)}}
@keyframes v4-light-breathe{from{opacity:.45;transform:scale(.9)}to{opacity:1;transform:scale(1.12)}}
@keyframes v4-mast-sweep{0%,35%{transform:translateX(-110%);opacity:0}45%{opacity:.45}72%{transform:translateX(110%);opacity:.25}75%,100%{transform:translateX(110%);opacity:0}}
@keyframes v4-ember-rise{0%{opacity:0;transform:translate(0,0) scale(.7)}12%{opacity:.75}80%{opacity:.45}100%{opacity:0;transform:translate(var(--drift),-240px) scale(.2)}}
@keyframes v4-cta-light{0%,100%{box-shadow:inset 0 0 0 3px #170c0780,0 0 10px #a5692020}50%{box-shadow:inset 0 0 0 3px #170c0780,0 0 20px #e3a43b4d}}
@keyframes v4-button-shine{0%,55%{transform:translateX(-150%)}80%,100%{transform:translateX(150%)}}
@keyframes v4-stat-refresh{from{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:1120px){.portal-columns{grid-template-columns:163px minmax(0,1fr) 193px;gap:12px}.main-nav{gap:16px}.main-nav>a{font-size:10px}.portal-join{grid-template-columns:.8fr 4.3fr .8fr;gap:10px}.portal-join-cta strong{font-size:17px}.join-side b{font-size:9px}.portal-stats>div{gap:6px}.portal-stats>div>span{font-size:7px}.feature-copy h2{font-size:27px}.portal-feature-tabs>[role=tab]{font-size:9px}.portal-class-tabs button{font-size:10px}.portal-mast-warrior{left:35px}.portal-mast-ninja{right:45px}.portal-explore-cta{right:13px;padding:9px}.portal-explore-cta strong{font-size:9px}.dock-date strong{font-size:14px}.launch-dock{gap:19px}}
@media(max-width:1024px){.portal-columns{grid-template-columns:163px minmax(0,1fr)}.portal-right{grid-column:1/-1}.main-nav>a{font-size:12px}.portal-mast-center{max-width:60%}.portal-mast-logo{width:380px}.portal-explore-cta{min-height:42px;padding:7px 9px;right:12px;bottom:12px}.portal-explore-cta .explore-sigil{width:21px;height:21px}.portal-explore-cta strong{font-size:8px}.portal-explore-cta small{font-size:6px}.portal-explore-cta>svg{width:13px;height:13px}.portal-stats>div{flex-direction:column;gap:3px;padding-block:9px}.portal-stats>div>span{font-size:8px;text-align:center}.portal-stats strong{font-size:20px}.dock-date em{display:block;margin-top:3px}.dock-countdown{gap:12px}.dock-download{font-size:8px;padding:11px}.launch-dock{gap:15px}}
@media(max-width:760px){
 body{padding-bottom:126px}.portal-wrap,.nav-shell{width:calc(100% - 28px)}.brand{width:142px}.nav-download{font-size:9px;padding:10px}.main-nav>a{font-size:12px}
 .portal-mast{height:185px}.portal-mast-center{max-width:76%;margin-top:19px}.portal-mast-center>.portal-kicker{font-size:7px;letter-spacing:.06em}.portal-mast-logo{width:280px;margin-top:9px}.portal-mast h1{font-size:13px;margin-top:6px}.portal-mast-warrior{left:-30px;height:220px;bottom:-42px;opacity:.6}.portal-mast-ninja{right:-37px;height:226px;bottom:-49px;opacity:.6}.portal-explore-cta{right:10px;bottom:8px;min-height:31px;gap:5px;padding:5px 7px}.portal-explore-cta .explore-sigil{width:16px;height:16px}.portal-explore-cta small{display:none}.portal-explore-cta strong{font-size:7px;margin:0}.portal-explore-cta>svg{width:10px;height:10px;margin-left:0}.mast-orbit{width:350px;height:350px;margin:-175px 0 0 -175px}.orbit-two{width:308px;height:308px;margin:-154px 0 0 -154px}.mast-light{width:90px;height:180px;filter:blur(6px)}
 .portal-stats{min-height:61px}.portal-stats>div{padding:8px 3px;gap:4px;justify-content:flex-start}.portal-stats strong{font-size:19px}.portal-stats>div>span{font-size:7px;line-height:1.45;letter-spacing:0}
 .portal-join{grid-template-columns:1fr;margin:13px 0 14px;padding:0 3px}.join-side{display:none}.portal-join-cta{min-height:65px;padding:11px 12px;gap:11px}.join-icon{width:29px;height:34px}.join-icon svg{width:19px;height:19px}.portal-join-cta strong{font-size:15px}.portal-join-cta small{font-size:6px;letter-spacing:.02em}.portal-join-cta>b{font-size:7px;gap:7px}.portal-join-cta>b svg{width:12px;height:12px}
 .portal-feature-tabs>[role=tab]{font-size:8px;padding-inline:9px}.feature-copy{padding:18px 11px 19px 0}.feature-copy>.portal-kicker{font-size:7px}.feature-copy h2{font-size:25px;line-height:1.22;margin:9px 0 11px}.feature-copy>p{font-size:11px;line-height:1.8;margin-bottom:14px}.portal-feature-link{font-size:8px;padding:10px 11px}.portal-feature-slide{min-height:241px}.portal-news-row h3{font-size:11px}.portal-news-row p{font-size:10px}.portal-news-badge{font-size:7px}.portal-panel-title h2{font-size:11px}.portal-panel-title>a,.portal-panel-title>span{font-size:7px}.portal-class-copy #class-description{font-size:11px}.portal-class-tabs button{font-size:9px;padding-inline:7px}.portal-class-copy #class-style{font-size:7px}.portal-class-copy>.portal-small-link{font-size:7px}.portal-class-copy #class-panel{min-height:155px}.portal-class-layout{min-height:272px}.portal-class-portrait{height:272px}.portal-class-portrait>img{height:236px}.portal-menu>a{font-size:11px}.portal-discovery h2{font-size:15px}.portal-discovery p{font-size:10px}.portal-discovery>a>div>span{font-size:6px}.portal-forbidden span{font-size:8px}.portal-fairplay>p{font-size:11px}
 .legal-inline-card{padding:17px 15px;flex-wrap:wrap;gap:12px}.legal-icon{width:30px;height:30px}.legal-inline-card h3{font-size:20px}.legal-inline-card p{font-size:11px}.legal-inline-card button{margin-left:42px;font-size:9px;padding:11px 13px}
 .launch-dock{bottom:10px;width:calc(100% - 24px);padding:10px 12px 9px;display:grid;grid-template-columns:1fr auto;gap:9px 10px;min-height:0}.dock-date{gap:8px}.dock-date>svg{width:21px;height:21px}.dock-date small{font-size:6px;letter-spacing:.07em;margin-bottom:3px}.dock-date strong{font-size:11px;line-height:1.4}.dock-date em{font-size:8px;margin-top:2px}.dock-countdown{gap:7px}.dock-countdown>span,.dock-countdown b{min-width:22px}.dock-countdown b{font-size:20px}.dock-countdown small{font-size:5px;margin-top:4px}.dock-download{grid-column:1/-1;padding:8px 12px;gap:12px;font-size:8px}.dock-download>svg{width:13px;height:13px}.announcement-launcher{right:12px;bottom:122px;padding:8px 9px;gap:7px;font-size:7px;min-height:37px}.launcher-seal,.launcher-seal>svg{width:20px;height:20px}.announcement-launcher>svg{width:11px;height:11px}
 .announcement-body{padding:28px 22px 20px}.announcement-logo{margin:12px auto 15px;max-width:300px}.announcement-kicker{font-size:6px}.announcement-body h2{font-size:27px;margin:15px 0}.announcement-body>p{font-size:11px;line-height:1.8}.announcement-points{font-size:6px;padding:12px 5px;gap:12px;margin-bottom:18px}.announcement-opening>strong{font-size:35px}.announcement-opening>b{font-size:7px}.announcement-overline{font-size:7px}.announcement-domain{font-size:9px}.announcement-card{min-height:0}
}
@media(prefers-reduced-motion:reduce){.mast-effects,.logo-light-scan{display:none}.portal-mast-warrior,.portal-mast-ninja,.portal-mast-logo,.announcement-art img,.announcement-launcher,.portal-explore-cta,.portal-join-cta:before{animation:none!important;will-change:auto}.motion-logo img{position:static;width:100%;height:auto;transform:none;mix-blend-mode:normal}.stat-updated{animation:none!important}}
