
/* NeoWorlds original reference reconstruction. CSS positions media; no ornamental CSS drawing. */
:root{color-scheme:dark;--paper:#f5eee4;--gold:#e9c18b;--ink:#030810}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--paper);background:#02060c;font-family:Georgia,"Times New Roman",serif;overflow-x:hidden}
button,a{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:2px solid #f5d486;outline-offset:3px}
.site{width:100%;overflow:hidden}
.topbar{height:clamp(63px,4.45vw,173px);position:relative;z-index:5;display:flex;align-items:center;padding:0 4.5%;gap:clamp(24px,4vw,156px);background:rgba(2,7,12,.95)}
.topbar::after{content:"";position:absolute;bottom:-2px;height:4px;left:0;right:0;background:url('gold-rail.png') center center/100% 100% no-repeat;pointer-events:none}
.brand{font-variant:small-caps;font-weight:bold;font-size:clamp(30px,3.35vw,127px);white-space:nowrap;line-height:1;color:#ffe2aa;letter-spacing:-.075em;text-shadow:0 2px #7c4520,1px 3px #251309,0 0 13px rgba(243,152,58,.6)}
.brand .w{font-size:1.16em}
.nav{display:flex;align-items:center;justify-content:space-around;gap:clamp(16px,1.9vw,65px);flex:1;white-space:nowrap;font-size:clamp(10px,.84vw,33px);letter-spacing:.04em}
.nav a:hover,.nav a.active{color:#ffdc9b}
.head-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:0;white-space:nowrap}
.language{font-size:clamp(11px,.84vw,26px);color:#f2e9d9}
.header-account{color:#f7dca5;border:1px solid #8f6a38;background:#0c1017;padding:clamp(9px,.85vw,35px) clamp(13px,1.4vw,56px);letter-spacing:.1em;font-size:clamp(10px,.77vw,29px)}
.hero{height:clamp(415px,30vw,1140px);position:relative;background:#070e18 url('portal.webp') center 50%/cover no-repeat}
.hero-copy{position:absolute;left:7.8%;top:8%;width:36%;text-align:center;text-shadow:0 2px 10px #000}
.hero-title{font-size:clamp(63px,6.2vw,236px);font-variant:small-caps;letter-spacing:-.08em;color:#f2c586;margin:0;line-height:1.08;text-shadow:0 3px #5e3518,0 7px 6px #0b0907}
.hero-title .w{font-size:1.2em}
.hero-tag{font-size:clamp(10px,1.03vw,39px);letter-spacing:.26em;margin:.25em 0 1em;white-space:nowrap}
.hero-ornament{display:block;color:#d5a45a;font-size:clamp(14px,1.2vw,46px);margin-bottom:.5em}
.hero-sub{font-size:clamp(12px,1.02vw,37px);line-height:1.62;margin:0 auto;max-width:34em}
.server{position:absolute;right:4.4%;top:8%;width:clamp(275px,23vw,880px);aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.server img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.server-content{position:relative;z-index:1;width:70%;margin-top:-1%;font-size:clamp(10px,.76vw,29px)}
.server h2{text-align:center;margin:0 0 .42em;font-size:clamp(16px,1.4vw,53px);font-weight:normal}
.server-primary{text-align:center;background:rgba(21,4,5,.8);padding:.4em .25em;margin-bottom:.55em}
.server-primary strong{display:block;color:#eee2d8;font-size:clamp(22px,2vw,75px);line-height:1.15}
.server-primary small{display:block;font-size:.85em;color:#dcc7b4;margin-top:.4em}
.server-line{display:flex;gap:1em;justify-content:space-between;padding:.31em 0;border-bottom:1px solid rgba(199,171,115,.18)}
.server-line b{font-weight:normal;color:#e1bb7d}
.middlerow{position:relative;height:clamp(183px,13.15vw,510px);background:#070e16;isolation:isolate}
.mscene{position:absolute;inset:0;display:block;width:50.1%;height:100%;object-fit:cover;z-index:0}
.mscene.left{left:0;object-position:12% 35%}
.mscene.right{left:auto;right:0;object-position:83% 47%}
/* The only two dividers: seamless rendered PNG strips, exactly at both section joints. */
.rail{position:absolute;left:0;width:100%;height:clamp(4px,.28vw,12px);z-index:2;pointer-events:none;object-fit:fill}
.rail.top{top:0;transform:translateY(-50%)}
.rail.bottom{bottom:0;transform:translateY(50%)}
.mtext{position:absolute;top:54%;z-index:2;text-shadow:0 2px 6px black,0 0 12px black;letter-spacing:.12em}
.mtext.left{left:15.7%}.mtext.right{left:71.2%}
.mtext strong{display:block;font-size:clamp(12px,1vw,37px);letter-spacing:.15em}
.mtext small{display:block;margin-top:.45em;font-size:clamp(8px,.68vw,25px);line-height:1.45}
.centerpiece{position:absolute;left:50%;top:calc(50% - 5px);width:clamp(535px,42vw,1600px);aspect-ratio:1672/682;transform:translate(-50%,-50%);z-index:3}
.centerpiece>img{position:absolute;width:100%;height:100%;object-fit:contain;pointer-events:none}
.center-kicker{position:absolute;top:calc(20% + 5px);width:100%;text-align:center;font-size:clamp(10px,.92vw,35px);letter-spacing:.25em;text-shadow:0 2px 4px #000}
.download{position:absolute;left:14%;top:32%;width:72%;height:34%;display:flex;align-items:center;justify-content:center;gap:4%;background:transparent;border:0;color:#ffefd4;white-space:nowrap;text-shadow:0 1px 4px #382007}
.download-icon{font:normal clamp(24px,3.4vw,130px)/1 Georgia,serif}
.download-copy{display:flex;flex-direction:column;gap:.2em;align-items:center}
.download strong{font-size:clamp(21px,2.22vw,85px);font-weight:normal}
.download small{font-size:clamp(8px,.69vw,27px);letter-spacing:.13em}
.account-center{position:absolute;left:36.4%;top:71.55%;width:27.2%;height:10.55%;background:transparent;border:0;color:#f3e5c9;font-size:clamp(9px,.78vw,29px);white-space:nowrap}
.download:hover,.account-center:hover{filter:brightness(1.2)}
.content{display:grid;grid-template-columns:50.5% 31% 18.5%;gap:0;padding:clamp(15px,1.3vw,50px) 3.3% clamp(24px,1.2vw,44px);background:#03070c}
.content>section{min-width:0;padding-right:clamp(10px,1.2vw,45px)}
.content>section+section{padding-left:clamp(10px,1.2vw,45px)}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:5px;margin:0 0 .75em}
.sec-head h2{font-size:clamp(21px,1.55vw,59px);font-weight:normal;margin:0}
.sec-head a{font:clamp(9px,.65vw,24px) Georgia,serif;color:#d3c1a4;white-space:nowrap}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(7px,.7vw,25px)}
.news-card{min-width:0;background:#0a1018;cursor:pointer}
.news-card img{width:100%;height:clamp(105px,7.5vw,290px);object-fit:cover;display:block}
.news-pad{padding:clamp(9px,.6vw,25px)}
.news-meta{font-size:clamp(9px,.58vw,22px);letter-spacing:.07em;color:#c9bba3}
.news-meta b{color:#f9dfa3;margin-right:.6em}
.news-card h3{font-size:clamp(13px,.83vw,32px);font-weight:normal;margin:.65em 0 .45em;line-height:1.25}
.news-card p{font-size:clamp(10px,.71vw,27px);color:#aeb5c1;line-height:1.5;margin:0}
.gallery-view{height:clamp(155px,10.8vw,415px);overflow:hidden;position:relative;background:#121b26}
.gallery-view img{width:100%;height:100%;object-fit:cover}
.gallery-view button{position:absolute;top:42%;border:0;background:rgba(3,7,12,.8);color:#f8cf83;padding:.3em .45em;font-size:clamp(22px,1.5vw,58px)}
.gallery-view button.prev{left:0}.gallery-view button.next{right:0}
.thumbs{margin-top:6px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.thumbs button{padding:0;border:0;background:#0d121a;cursor:pointer;height:clamp(35px,3.7vw,140px)}
.thumbs button img{width:100%;height:100%;object-fit:cover}
.community-box{background:#090f17;padding:clamp(8px,.75vw,30px);color:#e7ddce;font-size:clamp(12px,.86vw,31px)}
.community-box p{display:flex;align-items:center;gap:1em;margin:.65em 0;padding-bottom:.55em}
.community-box b{color:#b7dd99;font-size:1.1em}
.quote{font-size:clamp(10px,.69vw,26px);line-height:1.55;text-align:center;color:#dcbf90;margin:1em 0 0}
.features{min-height:clamp(72px,5.3vw,200px);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;background:#040910;color:#f8eedf;gap:1em;padding:.7em 4%}
.features>div{display:flex;gap:clamp(10px,1vw,40px);align-items:center}
.features .medallion{font-size:clamp(20px,2vw,78px);color:#d6a660}
.features strong{display:block;font-size:clamp(10px,.9vw,35px);letter-spacing:.12em}
.features small{display:block;font-size:clamp(10px,.7vw,27px);color:#b7b1b0;margin-top:.3em}
.dialog{position:fixed;inset:0;background:#000b;z-index:20;display:none;align-items:center;justify-content:center;padding:20px}
.dialog.open{display:flex}
.dialog>.window{background:#0a121f;max-width:480px;width:100%;padding:24px;color:#f4ead8;box-shadow:0 10px 45px #000}
.window h2{font-weight:normal;margin:0 0 15px}.window p{line-height:1.6}
.window button{background:#543b1e;border:0;padding:9px 22px;color:#f4e6c9}
.hamburger{display:none}
@media(max-width:1050px){
 .topbar{gap:2vw;padding:0 2%}.nav{gap:1.2vw}.hero-copy{left:3%;width:49%}.hero-title{font-size:6.6vw}
 .server{right:1%;width:30vw}.content{grid-template-columns:1fr 1fr;row-gap:20px}.content .community-section{grid-column:1/-1}
 .community-box{display:flex;justify-content:space-around;gap:16px}.community-box p{flex:1}
}
@media(max-width:690px){
 .topbar{height:65px;padding:0 4%}.brand{font-size:32px}.hamburger{display:block;margin-left:auto;border:0;background:transparent;color:#f5dba8;font-size:27px}
 .nav{display:none;position:absolute;left:0;right:0;top:65px;padding:15px 6%;background:#050b13;flex-direction:column;align-items:flex-start;gap:15px;z-index:20;font-size:14px}
 .nav.show{display:flex}.head-actions{display:none}
 .hero{height:620px;background-position:46% center}.hero-copy{top:7%;left:5%;width:90%}.hero-title{font-size:clamp(48px,12vw,78px)}
 .hero-tag{white-space:normal;font-size:clamp(9px,2vw,14px)}.hero-sub{font-size:12px;max-width:360px}.server{top:auto;bottom:2%;left:50%;right:auto;transform:translateX(-50%);width:290px}
 .middlerow{height:225px}.mscene{width:50.05%}.centerpiece{width:535px;max-width:none}
 .mtext{display:none}.center-kicker{font-size:10px}.download strong{font-size:25px}.download small{font-size:8px}.download-icon{font-size:32px}.account-center{font-size:10px}
 .content{grid-template-columns:1fr;padding:15px 4%;gap:25px}.content>section,.content>section+section{padding:0}.content .community-section{grid-column:auto}
 .sec-head h2{font-size:22px}.news-grid{gap:8px}.news-card img{height:91px}.news-card h3{font-size:12px}.news-card p{font-size:10px}.news-pad{padding:6px}
 .gallery-view{height:240px}.thumbs button{height:58px}.community-box{display:block}.features{grid-template-columns:1fr 1fr;min-height:100px;gap:14px;padding:15px 4%}.features .medallion{font-size:29px}.features strong{font-size:11px}.features small{font-size:10px}
}
@media(max-width:420px){.news-grid{grid-template-columns:1fr}.news-card{display:grid;grid-template-columns:40% 60%}.news-card img{height:100%;min-height:110px}.news-pad{padding:9px}.news-card h3{font-size:14px}}

/* V46: News cards are actual links to readable individual articles. */
.news-card{display:block;color:inherit;text-decoration:none;transition:filter .16s ease,transform .16s ease}
.news-card:hover{filter:brightness(1.15);transform:translateY(-2px)}
.news-card:focus-visible{outline:2px solid #e4b66e;outline-offset:2px}
.news-card h3,.news-card p{overflow-wrap:anywhere}
.news-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
@media(prefers-reduced-motion:reduce){.news-card{transition:none}.news-card:hover{transform:none}}

/* Android download: reuse the existing small lower gold inset of download-panel.png.
   No extra ornament, border or redesign of the Windows CTA. */
.android-download{display:flex;align-items:center;justify-content:center;text-align:center;letter-spacing:.015em;text-shadow:0 2px 4px #000,0 0 7px #402509}
.android-download:hover,.android-download:focus-visible{color:#ffe5b0;filter:brightness(1.25);text-shadow:0 0 8px #e4ac55,0 2px 5px #000}
