/* Colossari / New World. Layout adapter for the existing server-rendered app. */
html[data-theme="newworld"] {
 --bg:#0b1b26; --surface:#112c3a; --surface2:#183745; --surface3:#234554;
 --line:#345260; --line-soft:#294450; --ink:#edf0e8; --ink2:#b4cbd0; --ink3:#98b3bc;
 --ember:#e7c076; --ember-hot:#f3d599; --gold:#e7c076; --verd:#87cfbf;
 --good:#8bceae; --bad:#f08c85; --warn:#e7c076; --accent:#e7c076; --r:12px;
 --body:"DM Sans",system-ui,sans-serif; --disp:"Marcellus",Georgia,serif;
}
html[data-theme="newworld"] body {background:#0b1b26;background-image:radial-gradient(ellipse at 90% 0,#21475366,transparent 55%);font-size:15px;line-height:1.65}
html[data-theme="newworld"] h1,html[data-theme="newworld"] h2,html[data-theme="newworld"] h3 {font-weight:400;letter-spacing:-.02em}
html[data-theme="newworld"] .wrap {max-width:1370px;padding-left:34px;padding-right:34px}
html[data-theme="newworld"] .topbar {position:relative;background:#081923;border-color:#2b4652}
html[data-theme="newworld"] .topbar .wrap {min-height:94px;gap:24px}
.topbar .brand-logo {width:218px;height:auto;max-height:82px;object-fit:contain}
.nw-footer-brand {display:flex;align-items:center;gap:35px;margin-bottom:32px}
.nw-footer-brand img {width:270px;height:auto;max-width:100%}
.nw-footer-brand p {color:var(--ink2);font-size:14px;max-width:32ch}
html[data-theme="newworld"] .beta-tag {display:none}
html[data-theme="newworld"] .topnav {position:relative;top:auto;background:#102a38}
html[data-theme="newworld"] .topnav .wrap {gap:8px;min-height:55px}
html[data-theme="newworld"] .topnav a,html[data-theme="newworld"] .topnav summary {border-radius:4px;padding:10px 14px}
html[data-theme="newworld"] .topnav .nav-menu {background:#142f3e;border-color:#426371;box-shadow:0 14px 35px #0004;min-width:205px}
html[data-theme="newworld"] .worldstate {max-width:500px;margin-right:auto}
html[data-theme="newworld"] .worldstate .ws-label {font-size:10px}
html[data-theme="newworld"] .ws-fill,html[data-theme="newworld"] .hpfill {background:linear-gradient(90deg,#397b86,#93d2bd)}
html[data-theme="newworld"] .layout {padding-top:32px;padding-bottom:55px}
html[data-theme="newworld"] .layout > main,html[data-theme="newworld"] .cols2 > *,html[data-theme="newworld"] .cols3 > * {min-width:0}
html[data-theme="newworld"] .tscroll {max-width:100%}
html[data-theme="newworld"] body[data-page="owner"] .row {flex-wrap:wrap;gap:8px}
html[data-theme="newworld"] .card,html[data-theme="newworld"] .boss,html[data-theme="newworld"] .beast {border:1px solid #345260;background:#112c3a;box-shadow:0 12px 34px #0000000c;border-radius:12px}
html[data-theme="newworld"] .pad {padding:26px}
html[data-theme="newworld"] .btn {border-radius:6px;padding:11px 19px;min-height:43px;border-color:#56727e;background:#193c4c;color:#e6f0eb;box-shadow:none}
html[data-theme="newworld"] .btn:hover {background:#275263;border-color:#88b8bc}
html[data-theme="newworld"] .btn-p,html[data-theme="newworld"] .btn-g {background:linear-gradient(135deg,#f0d49b,#d9b574);border-color:#eed5a0;color:#1c303b;font-weight:700}
html[data-theme="newworld"] .btn-p:hover,html[data-theme="newworld"] .btn-g:hover {background:#f1dba9;color:#142632}
html[data-theme="newworld"] .btn-sm {padding:7px 12px;min-height:35px}
html[data-theme="newworld"] .page {font-size:42px;line-height:1.18}
html[data-theme="newworld"] .sec {font-size:26px}
html[data-theme="newworld"] .lede {max-width:760px;color:#b4cbd0;line-height:1.75}
html[data-theme="newworld"] .eyebrow {color:#a8cecb;letter-spacing:.16em;font-size:11px}
html[data-theme="newworld"] input,html[data-theme="newworld"] select,html[data-theme="newworld"] textarea {background-color:#0e2431;border-color:#506f7c;border-radius:6px;color:#edf0e8}
html[data-theme="newworld"] th {background:#163341;color:#a6c5cc;font-size:11px;padding:14px}
html[data-theme="newworld"] td {padding:15px 14px;border-color:#2c4855}
html[data-theme="newworld"] tr.me {background:#244a4955}
html[data-theme="newworld"] .pill {border-radius:6px;padding:4px 9px;font-size:11px}
html[data-theme="newworld"] .sitefoot {background:#091a25;border-color:#294754;padding-top:42px}
html[data-theme="newworld"] .foot-h {color:var(--gold);font-family:var(--body);font-size:12px;font-weight:600}
.nw-page-heading {margin-bottom:28px}.nw-page-heading h1 {font:44px/1.2 var(--disp);margin:10px 0}.nw-page-heading p {margin:0;color:var(--ink2)}
#liveHunt {grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px}
#liveHunt > * {min-width:0}
html[data-theme="newworld"] .boss {overflow:hidden}
html[data-theme="newworld"] .boss-art {height:405px;position:relative;padding:0;border-bottom:1px solid var(--line)}
html[data-theme="newworld"] .boss-art .tag {position:absolute;left:22px;top:20px;z-index:3;background:#0b253bd9;color:#e4edda;border-color:#668085}
html[data-theme="newworld"] .boss-art .art-hint {z-index:3;background:#0b253ba8;border-radius:4px;padding:4px 9px}
html[data-theme="newworld"] .boss-body {padding:28px}
html[data-theme="newworld"] .boss-name {font-size:43px;line-height:1.15}
html[data-theme="newworld"] .boss-epithet {color:#aac6cc;font-size:13px;margin-top:9px}
html[data-theme="newworld"] .hpbar {height:14px;background:#09212d;border:0;border-radius:20px;overflow:visible}
html[data-theme="newworld"] .hpfill {border-radius:20px}
html[data-theme="newworld"] .hpnums .big {color:#e7c076;font-family:var(--body);font-size:32px}
html[data-theme="newworld"] .statgrid {border-top:1px solid var(--line);padding-top:20px;gap:20px}
html[data-theme="newworld"] .stat .v {font-family:var(--body);font-size:25px}
html[data-theme="newworld"] .stat .k {font-size:11px;color:#a8c2c8}
.nw-adventure-card {background:linear-gradient(135deg,#224b53,#112c3a)!important}.nw-adventure-card h2 {margin:12px 0}.nw-adventure-card p {font-size:14px;color:var(--ink2)}
.nw-text-link {display:block;margin-top:14px;text-align:center;font-size:13px}
.nw-hunt-notes {margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.nw-hunt-notes > :first-child {grid-column:1/-1}
.nw-hunt-notes .page {font-size:27px!important}.nw-hunt-notes .lede {font-size:14px;max-width:none}
.nw-motion-bar {display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 22px;background:#102c39;color:var(--ink2);font-size:12px;border-bottom:1px solid var(--line)}
.nw-motion-bar .btn {flex-shrink:0}
/* Artwork layers, with a readable silhouette and light atmospheric motion. */
.nw-creature {position:relative;display:block;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#214753}
.nw-landscape {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.nw-idle {position:absolute;inset:-2%;display:block;animation:nwBreathe 6s ease-in-out infinite;transform-origin:50% 85%}
.nw-figure {position:absolute;right:-6%;bottom:-10%;width:88%;height:120%;object-fit:contain;object-position:center bottom;filter:drop-shadow(-12px 9px 20px #0a233333);transform:translate(var(--nw-x,0px),var(--nw-y,0px))}
html[data-theme="newworld"] .nw-creature .nw-atlas {width:100%;height:100%;display:block}
.nw-creature:after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b253b5c,transparent 48%);pointer-events:none}
.nw-motes {position:absolute;inset:-25%;pointer-events:none;background-image:radial-gradient(circle,#d4eadbba 1px,transparent 2px),radial-gradient(circle,#c9e1d880 1px,transparent 2px);background-size:139px 119px,217px 189px;animation:nwMotes 20s linear infinite;opacity:.5}
.nw-impact .nw-idle {animation:nwHit .55s ease-out}
.nw-damage {position:absolute;left:50%;top:37%;z-index:4;font:700 30px var(--body);color:#fff0c6;text-shadow:0 2px 8px #102633;pointer-events:none;animation:nwDamage 1.3s ease-out forwards}
.nw-paused .nw-idle,.nw-paused .nw-motes,.nw-offscreen .nw-idle,.nw-offscreen .nw-motes {animation-play-state:paused}
.nw-paused .nw-figure {transform:none}
@keyframes nwBreathe {0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.012)}}
@keyframes nwMotes {from{transform:translate(0,30px)}to{transform:translate(20px,-85px)}}
@keyframes nwHit {0%,100%{transform:translateX(0);filter:brightness(1)}20%{transform:translateX(7px);filter:brightness(1.3)}45%{transform:translateX(-4px)}}
@keyframes nwDamage {from{transform:translateY(0);opacity:1}to{transform:translateY(-65px);opacity:0}}
/* Marketing layout mirrors the approved full-page concept. */
html[data-theme="newworld"] .home-hero {position:relative;isolation:isolate;display:flex;align-items:center;min-height:650px;margin:0 -34px;padding:65px 50px;background:#102632 url('../img/newworld/guardian.png') 65% 42%/cover no-repeat;border-radius:0;overflow:hidden}
html[data-theme="newworld"] .home-hero:before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#091b28f5,#091b28c9 35%,#091b2820 78%),linear-gradient(0deg,#0b1b26,transparent 35%)}
html[data-theme="newworld"] .home-hero>div {max-width:580px}
html[data-theme="newworld"] .home-hero__title {font-size:64px;font-weight:400;line-height:1.07;letter-spacing:-.025em}
html[data-theme="newworld"] .home-hero__title .hot {color:#f0d7a5}
html[data-theme="newworld"] .home-hero__lede {max-width:420px;font-size:16px;color:#c1d5d7}
html[data-theme="newworld"] .home-proof {max-width:450px}.home-proof .v {font-size:22px}
.nw-live-ribbon {position:relative;margin:-15px 0 20px;z-index:2}
.nw-live-ribbon .boss {display:grid;grid-template-columns:180px 1fr;align-items:stretch}
.nw-live-ribbon .beast-stage {height:auto!important;min-height:180px;border:0}
.nw-live-ribbon .boss-body {padding:24px!important}
.nw-live-ribbon .hpwrap {margin-top:13px!important}
html[data-theme="newworld"] .home-sec {padding:58px 0}
html[data-theme="newworld"] .home-sec__head {text-align:left;margin-left:0;max-width:720px}
html[data-theme="newworld"] .home-sec__head h2 {font-size:40px}
html[data-theme="newworld"] .home-steps {gap:25px}
html[data-theme="newworld"] .home-step {border-width:1px 0 0;border-radius:0;background:transparent;box-shadow:none;padding:27px 0}
html[data-theme="newworld"] .home-step h3 {font-size:27px}
html[data-theme="newworld"] .home-beasts {grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
html[data-theme="newworld"] .beast-body h3 {font-size:26px}
html[data-theme="newworld"] .home-owner {padding:40px;background:linear-gradient(135deg,#234651,#112c3a)!important;gap:45px}
html[data-theme="newworld"] .home-final {border:0;background:radial-gradient(ellipse at 50% 0,#30575c55,transparent 65%)}
html[data-theme="newworld"] .bestiary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
html[data-theme="newworld"] .beast {overflow:hidden}
html[data-theme="newworld"] .beast .art {height:285px;padding:0;position:relative}
html[data-theme="newworld"] .beast .art>.pill {position:absolute;top:15px;left:15px}
html[data-theme="newworld"] .beast .b {padding:24px}
html[data-theme="newworld"] .beast h3 {font-size:28px}
html[data-theme="newworld"] .beast .meta {font-size:12px}
html[data-theme="newworld"] .item-card {border-radius:9px;background:#143443;padding:18px;min-height:115px}
html[data-theme="newworld"] .item-card.on {background:#244b4655;border-color:#87b9a7}
html[data-theme="newworld"] .item-card .nm {font:21px var(--disp)}
html[data-theme="newworld"] .barewrap {max-width:600px;padding-top:40px;padding-bottom:65px}
@media(max-width:1100px){
 html[data-theme="newworld"] .wrap{padding-left:24px;padding-right:24px}
 html[data-theme="newworld"] .home-hero{margin-left:-24px;margin-right:-24px;padding:55px 35px}
 #liveHunt{grid-template-columns:minmax(0,1fr) 285px}
 html[data-theme="newworld"] .boss-art{height:350px}
 html[data-theme="newworld"] .topbar .wrap{gap:15px}.topbar .brand-logo{width:192px}
 html[data-theme="newworld"] .worldstate .ws-label{display:none}
 html[data-theme="newworld"] .bestiary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
 #liveHunt{grid-template-columns:1fr}#liveHunt>.stack:nth-child(2){display:grid;grid-template-columns:1fr 1fr;align-items:start}
 html[data-theme="newworld"] .home-hero__title{font-size:55px}
 html[data-theme="newworld"] .home-beasts{grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-theme="newworld"] .home-steps{grid-template-columns:1fr}
 html[data-theme="newworld"] .worldstate{display:none}
 html[data-theme="newworld"] .topbar .brand{margin-right:auto}
}
@media(max-width:600px){
 html[data-theme="newworld"] .wrap{padding-left:18px;padding-right:18px}
 html[data-theme="newworld"] .topbar .wrap{min-height:78px;gap:10px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
 .topbar .brand-logo{width:160px;max-height:62px}.topbar .brand{gap:0}
 html[data-theme="newworld"] .srvclock{display:none!important}
 html[data-theme="newworld"] .who-chip{padding-left:0;border:0;gap:7px}
 html[data-theme="newworld"] .who-chip .btn{padding:7px 10px;font-size:11px;min-height:35px}
 html[data-theme="newworld"] .topnav .wrap{gap:2px;justify-content:flex-start;padding-top:6px;padding-bottom:6px}
 html[data-theme="newworld"] .topnav a,html[data-theme="newworld"] .topnav summary{font-size:12px;padding:8px 10px}
 html[data-theme="newworld"] .nav-dd:last-of-type .nav-menu{left:auto;right:0}
 html[data-theme="newworld"] .layout{padding-top:24px}
 .nw-page-heading h1{font-size:35px}.nw-page-heading p{font-size:14px}
 html[data-theme="newworld"] .boss-art{height:300px}
 html[data-theme="newworld"] .boss-body{padding:21px}
 html[data-theme="newworld"] .boss-name{font-size:35px}
 html[data-theme="newworld"] .boss-body>.between{flex-wrap:wrap;gap:12px}
 html[data-theme="newworld"] .statgrid{gap:15px}
 .nw-motion-bar{padding:10px 15px;font-size:11px}
 #liveHunt>.stack:nth-child(2){display:flex}
 .nw-hunt-notes{grid-template-columns:1fr}
 html[data-theme="newworld"] .home-hero{margin:0 -18px;padding:300px 22px 50px;min-height:780px;align-items:flex-end;background-position:66% top;background-size:auto 510px}
 html[data-theme="newworld"] .home-hero:before{background:linear-gradient(0deg,#0b1b26 0%,#0b1b26 26%,#0b1b26d9 52%,#0b1b2600 88%)}
 html[data-theme="newworld"] .home-hero__title{font-size:45px}
 html[data-theme="newworld"] .home-hero__lede{font-size:15px}
 html[data-theme="newworld"] .home-proof{gap:20px}
 .nw-live-ribbon .boss{grid-template-columns:1fr}.nw-live-ribbon .beast-stage{display:none}
 html[data-theme="newworld"] .home-sec{padding:38px 0}
 html[data-theme="newworld"] .home-sec__head h2{font-size:32px}
 html[data-theme="newworld"] .home-beasts,html[data-theme="newworld"] .bestiary{grid-template-columns:1fr}
 html[data-theme="newworld"] .home-owner{padding:25px;gap:28px}
 html[data-theme="newworld"] .home-owner h2{font-size:31px}
 .nw-footer-brand{display:block}.nw-footer-brand img{width:230px}
 html[data-theme="newworld"] td,html[data-theme="newworld"] th{padding:12px 9px}
 html[data-theme="newworld"] body[data-page="owner"] .between {flex-wrap:wrap;gap:12px}
}
@media(prefers-reduced-motion:reduce){.nw-idle,.nw-motes,.nw-damage{animation:none!important}.nw-figure{transform:none!important}}

/* Astrion is a full-body encounter, not a cropped atlas portrait. Contain keeps
   helmet, staff and boots visible at every card ratio; the soft backdrop fills
   any spare width without stretching the character. */
.nw-creature--warden .nw-body-backdrop{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);max-width:none;object-fit:cover;filter:blur(12px) brightness(.66);opacity:.9}
.nw-creature--warden .nw-body-scene{position:absolute;inset:3% 0;width:100%;height:94%;max-width:none;object-fit:contain;object-position:center;display:block}
.nw-creature--warden .nw-body-scene{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
@media(max-width:740px){.nw-creature--warden .nw-body-scene{object-fit:cover;mask-image:none}}
