/* Nordgram — cold steel, warm taverns, familiar social anatomy. */
:root{--bg:#0b0f13;--bg2:#10161c;--elev:#131b22;--hover:#b5d7e60c;--text:#e8edf0;--text2:#8b9ba7;--text3:#7d8d99;--sep:#b1ccda15;--sep2:#b1ccda29;--blue:#a3ccde;--blue-h:#d1e8f1;--red:#da8a85;--cg-green:#a3cbb4;--input:#161f27;--btn2:#202d37;--btn2-h:#2b3c48;--overlay:#04080dce;--story-bg:#080d12;--toast:#20303b;--toast-t:#ecf4f8;--ring:linear-gradient(140deg,#b3d7e5,#57829c 58%,#c7d5da);--ring-seen:#35434e}
[data-theme="light"]{--bg:#f3f5f5;--bg2:#e9eef0;--elev:#fff;--text:#192d38;--text2:#576e7b;--text3:#576b76;--sep:#162d3919;--sep2:#162d392d;--blue:#35697f;--blue-h:#173e54;--input:#e7ecef;--btn2:#dce6ea;--btn2-h:#c8d7de;--hover:#132b3609;--toast:#183444;--toast-t:#fff}
html,body{font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45}
button,input,textarea{font-family:inherit}.wordmark{font-family:"Sovngarde",Georgia,serif;font-size:22px!important;font-weight:500;letter-spacing:.055em;text-transform:none}.cg-brand-mark{width:32px;height:32px;margin-right:10px}.side .brand .wordmark{white-space:nowrap;font-size:21px!important}.side .brand{padding:0 7px}.side{background:var(--bg);padding-left:16px;padding-right:16px}.side .item{border-radius:8px;padding:13px 14px;gap:15px;font-size:14px;letter-spacing:.01em;margin-bottom:5px;color:var(--text2)}.side .item:hover{color:var(--text);background:var(--hover)}.side .item.on{color:var(--text);background:var(--input);font-weight:600}.side .item.on:before{content:"";position:absolute;left:0;width:2px;height:23px;border-radius:2px;background:var(--blue)}.side .item{position:relative}.side .item svg{width:22px;height:22px}.side .item .badge{display:none}.side .brand{height:112px}.side .bottom{margin-top:auto}.side-quest{padding:17px 14px 22px;margin:25px 0 13px;border-top:1px solid var(--sep)}.side-quest span{font:9px/1.5 var(--cg-mono);letter-spacing:.15em;color:var(--text3)}.side-quest b{display:block;font-size:13px;font-weight:500;margin:10px 0 3px}.side-quest small{display:block;color:var(--text2);font-size:10px}.side-quest>div{height:2px;background:var(--sep2);margin-top:15px}.side-quest i{display:block;width:12%;height:100%;background:var(--blue)}
.home{gap:50px;padding-top:39px;padding-bottom:40px;max-width:1050px;margin:auto}.feed{flex:0 1 470px;width:470px;max-width:470px}.right{width:282px;flex:none;margin-top:9px;padding-top:0}.feed-heading{display:flex;justify-content:space-between;align-items:center;padding:0 0 22px}.eyebrow{font:9px/1.6 var(--cg-mono);letter-spacing:.15em;color:var(--text2)}.feed-heading h1{font-family:"Sovngarde",Georgia,serif;font-weight:400;font-size:25px;line-height:1.25;letter-spacing:-.035em;margin:8px 0 0}.hold-status{font:10px var(--cg-mono);color:var(--text2);display:flex;align-items:center;gap:7px}.hold-status i{display:block;width:5px;height:5px;border-radius:50%;background:#a2c1a9;box-shadow:0 0 8px #9edcb23d}.feed-tabs{display:flex;align-items:center;border-bottom:1px solid var(--sep);gap:25px;height:47px}.feed-tabs>button{position:relative;height:47px;color:var(--text2);font-size:13px;white-space:nowrap}.feed-tabs>button.on{font-weight:650;color:var(--text)}.feed-tabs>button.on:after{content:"";position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--blue)}.feed-tabs .replay-intro{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:10px;color:var(--text3)}.feed-tabs .replay-intro:hover{color:var(--blue)}
.stories{padding:22px 0 23px;gap:13px;border-bottom:1px solid var(--sep);margin:0 0 10px}.story{width:61px;gap:8px}.story>span{font-size:10px;max-width:67px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:var(--text2)}.ring{width:59px;height:59px;padding:1.5px}.ring .av{border-width:3px}.story:hover .ring{filter:brightness(1.18);transform:translateY(-2px);transition:transform .18s}.story.me .ring{background:transparent;border:1px dashed var(--sep2);padding:3px}.ring .plus{width:18px;height:18px;border-width:2px;background:#7099ac}.av img{object-position:50% 32%}#app .av,#ov .av,#sv .av{background:#23313b!important;color:#d6e6ef}#app .av:not(:has(img)),#ov .av:not(:has(img)),#sv .av:not(:has(img)){background:#9fc5d6!important;color:#162731}
.post{border-bottom:1px solid var(--sep);padding-bottom:20px;margin-bottom:10px}.post .head{padding:14px 0 12px;gap:11px;min-height:60px}.post .head .av{width:35px!important;height:35px!important}.post .who{gap:7px;font-size:12px}.post .who .cg-ts{font-size:10px}.post .media{border:1px solid var(--sep);border-radius:7px;overflow:hidden}.post .media[data-photo]{aspect-ratio:max(.8,var(--photo-ratio,.8))}.post .media .post-image{object-position:var(--photo-position,50% 40%)}.post .pacts{padding:9px 0 1px;gap:3px}.pacts .ib:first-child{margin-left:-8px}.pacts .ib:last-child{margin-right:-8px}.post .likes{font-size:12px;padding:4px 0 5px}.post .cap{font-size:12px;line-height:1.65;padding:0}.post .vc{font-size:12px;padding:6px 0 3px;color:var(--text3)}.post>.addc{padding:5px 0 0;margin:0;font-size:12px}.post .addc input::placeholder{color:var(--text3)}.post .addc .emo{color:var(--text3)}.post .cap .u{margin-right:7px}.vb{color:var(--blue)}
.right .me{gap:10px;margin-bottom:25px}.right .me .b{font-size:11px;display:block;max-width:174px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right .me .g{font-size:11px;margin-top:3px}.hold-card{position:relative;display:block;min-height:196px;border-radius:8px;overflow:hidden;border:1px solid var(--sep2);background:#16232b}.hold-card-image{position:absolute;inset:0;background:linear-gradient(0deg,#0b1723f2 5%,#0b172385 65%,#111b263d),url("gate/landscape.jpg") center/cover;opacity:.9;transition:transform 1s}.hold-card:hover .hold-card-image{transform:scale(1.04)}.hold-card-body{position:relative;padding:61px 19px 18px;color:#eaf1f4}.hold-card .eyebrow{font-size:8px;color:#bed1dc}.hold-card h2{font:28px/1.2 "Sovngarde",Georgia,serif;letter-spacing:.03em;margin:6px 0}.hold-card p{font-size:10px;color:#a8bfcd}.hold-card-body>div{border-top:1px solid #b2d9eb21;display:flex;justify-content:space-between;font:8px/1.5 var(--cg-mono);color:#99acb8;margin-top:15px;padding-top:10px}.right .sug{margin:25px 0 10px;padding:0;font-size:12px}.right .srow{padding:9px 0;gap:10px}.right .srow .b{font-size:11px}.right .srow .g{font-size:10px;padding-top:2px}.right .srow .link{font-size:10px;font-weight:500}.noticeboard{border-top:1px solid var(--sep);margin-top:23px;padding-top:22px}.noticeboard>a{display:flex;align-items:center;gap:13px;padding-top:15px;color:var(--text2)}.noticeboard>a>span{font:9px var(--cg-mono);color:var(--text3)}.noticeboard b{display:block;font-size:11px;font-weight:500;color:var(--text)}.noticeboard small{display:block;font-size:10px;color:var(--text3);margin-top:3px}.noticeboard svg{margin-left:auto}.right .ft{margin-top:27px;line-height:1.6;color:var(--text3);font-size:9px}.right .ft>a,.right .ft>button{font-size:10px;margin:0 12px 9px 0;display:inline-block}.right .ft p{font-size:8px;letter-spacing:.05em;margin:8px 0}.right .ft>span{font-size:8px;letter-spacing:.05em}
.feed-end{text-align:center;color:var(--text2);padding:55px 20px 20px}.feed-end img{width:40px;opacity:.65;margin-bottom:15px}.feed-end p{font-family:"Sovngarde",Georgia,serif;font-size:20px;color:var(--text)}.feed-end span{display:block;margin:8px 0 15px;font-size:12px}.feed-end button{font-size:11px}.explore-heading{padding:20px 0 28px}.explore-heading h1{font:32px "Sovngarde",Georgia,serif;margin:8px 0 7px;letter-spacing:-.025em}.explore-heading>p{font-size:12px;color:var(--text2)}.cast-chips{display:flex;gap:8px;overflow:auto;padding-top:24px;scrollbar-width:none}.cast-chips>a{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;border:1px solid var(--sep2);padding:6px 12px 6px 6px;border-radius:24px}.cast-chips>a:hover{background:var(--hover)}.grid .c{border-radius:3px;overflow:hidden}.xp .grid{gap:7px}.prof{padding-top:47px}.ph .un{font-weight:500}.ph .bio{font-size:13px;line-height:1.6}.ph .bio .nm{font-weight:600}.hls .ring{background:var(--sep2)}.hls .av{font-size:12px!important}.ptabs{border-top:1px solid var(--sep)}.ptabs a.on{border-top-color:var(--blue)}.sheet,.pm,.panel-wrap{background:var(--elev)}.sheet h4{font-family:"Sovngarde",Georgia,serif;font-weight:500}.btn-b{background:#aacbd9;color:#122733}.btn-b:hover{background:#d1e5ee}.btn{font-size:12px;border-radius:6px}.topbar{background:var(--bg)}.tabbar{background:var(--bg)}.mc{background:#152430!important;color:#e1eaf0}.mc .wm{color:#839dab}.mc .mt{font-family:"Sovngarde",Georgia,serif;font-weight:500}.mc small{color:#a1b7c4}.sv .fr .t{font-family:"DM Sans",Arial,sans-serif;font-weight:650;letter-spacing:-.04em}.sv .fr .s{color:#d6e4ec}.sv .fr .lbl{background:#bdcfda;color:#10212e}.ib.liked{color:var(--red)}.bl{color:var(--blue)}.panel-wrap .srow:hover{background:var(--hover)}.panel-wrap h2{font-family:"Sovngarde",Georgia,serif;font-weight:500}#toast{font-size:12px}
@media(min-width:1264px){:root{--sidebar-gutter:230px}.side{width:230px}.home{padding-left:38px;padding-right:38px}}
@media(min-width:1500px){.home{padding-left:55px;padding-right:55px;max-width:1160px;gap:70px}.feed{flex-basis:470px;max-width:470px;width:470px}.right{width:290px}}
@media(min-width:768px) and (max-width:1263px){.side{padding-left:10px;padding-right:10px}.side-quest{display:none}.side .brand{padding:0 8px}.home{padding-left:28px;padding-right:28px;gap:35px}.feed{max-width:470px}.right{width:255px}.side .item{padding-left:14px}.side .brand .glyph .cg-brand-mark{width:30px;height:30px}.side .bottom{padding-top:20px}}
@media(min-width:768px) and (max-width:1099px){.home{justify-content:center}.right{display:none}.feed{width:min(470px,100%);flex-basis:470px}}
@media(max-width:767px){.home{padding:0;display:block;max-width:100%}.feed{width:100%;max-width:100%}.feed-heading{padding:22px 17px 18px}.feed-heading .eyebrow{font-size:8px}.feed-heading h1{font-size:22px;margin-top:6px}.hold-status{font-size:9px}.feed-tabs{padding:0 17px;gap:23px;height:43px}.feed-tabs>button{height:43px;font-size:12px}.feed-tabs .replay-intro{font-size:9px;gap:5px}.stories{padding:19px 14px 18px;gap:10px;margin-bottom:2px}.story{width:59px}.ring{width:57px;height:57px}.post .head{padding:12px 15px;gap:10px}.post .media{border-left:0;border-right:0;border-radius:0}.post .pacts{padding-left:14px;padding-right:14px;padding-top:7px}.post .likes,.post .cap,.post .vc{padding-left:16px;padding-right:16px}.post .likes{padding-top:3px}.post .cap{line-height:1.65;font-size:12px}.post{padding-bottom:15px;margin-bottom:2px}.topbar{height:59px;padding-left:17px;padding-right:10px}.topbar .wordmark{font-size:22px!important}.topbar .cg-brand-mark{width:29px;height:29px;margin-right:8px}.topbar .acts{gap:4px}.topbar .acts svg{width:22px;height:22px}.tabbar{height:calc(57px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}:root{--mobile-nav:calc(57px + env(safe-area-inset-bottom))}.tabbar svg{width:23px;height:23px}.tabbar .on{color:var(--blue)}.tabbar .on .av{box-shadow:0 0 0 2px var(--blue)}.prof{padding-top:20px}.ph .stats{font-size:13px}.ph .stats span.g{font-size:11px}.ph .un{font-size:18px}.hls{padding:23px 15px}.xp{padding:20px 8px}.explore-heading{padding:5px 9px 22px}.explore-heading h1{font-size:27px}.cast-chips{padding-top:20px}.xp .grid{gap:4px}.replay-intro svg{width:12px}.feed-end{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.hold-card-image,.story:hover .ring{transition:none;transform:none}}

.album-slide{position:relative}.album-track{height:100%}.album-prev,.album-next,.album .arr{z-index:3}.ph .bio{white-space:pre-line}.media[data-photo] .album{aspect-ratio:inherit;height:100%}.pm:focus{outline:none}

.courier-page{padding-top:55px}.courier-page h2{font:34px "Sovngarde",Georgia,serif;margin:8px 0;padding:0}.courier-page>p{font-size:12px;line-height:1.6}.courier-letters{margin-top:32px;border-top:1px solid var(--sep)}.courier-row{display:flex;align-items:center;gap:15px;width:100%;text-align:left;padding:20px 0;border-bottom:1px solid var(--sep)}.courier-row>span{display:block;min-width:0;flex:1}.courier-row b{display:block;font-size:12px;color:var(--text2);font-weight:400}.courier-row strong{display:block;font-size:14px;font-weight:500;margin:3px 0 6px}.courier-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text3)}.courier-row:hover strong{color:var(--blue)}.courier-foot{padding:26px 0;text-align:center;font-style:italic;color:var(--text3)}.courier-author{display:flex;gap:12px;align-items:center;text-align:left;padding:23px 25px 10px}.courier-author b{font-size:13px}.courier-author span{display:block;color:var(--text2);font-size:10px;margin-top:3px}.courier-letter{padding:16px 26px 30px;text-align:left;font-family:Georgia,serif;font-size:17px;line-height:1.8;color:var(--text)}@media(max-width:767px){.courier-page{padding-top:26px}.courier-page h2{font-size:29px}.courier-row{gap:12px}.courier-row strong{font-size:13px}}

/* Keep the crest centered in both the full sidebar and its narrow rail. */
@media(min-width:768px){
  .side .brand{padding:0;justify-content:center}
  .side .brand .glyph{width:100%;height:100%;padding:0;align-items:center;justify-content:center}
  .side .brand .glyph .cg-brand-mark{display:block;flex:none;width:54px;height:54px;max-width:none;margin:0}
}
@media(min-width:1264px){
  .side .brand{height:128px}
  .side .brand .wordmark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;line-height:1.2}
  .side .brand .wordmark .cg-brand-mark{display:block;width:64px;height:64px;margin:0}
  .side .brand .nw-brand-caption{left:50%;top:auto;bottom:4px;transform:translateX(-50%);white-space:nowrap;text-align:center}
  body.panel .side .brand{height:112px}
  body.panel .side .brand .nw-brand-caption{display:none}
}
@media(min-width:1264px) and (max-height:650px){
  .side .brand{height:86px}
  .side .brand .wordmark{flex-direction:row;gap:8px;font-size:19px!important}
  .side .brand .wordmark .cg-brand-mark{width:46px;height:46px}
  .side .brand .nw-brand-caption{display:none}
}

/* New cast replies enter without shifting the visitor’s comment input. */
.ng-new-comment{animation:comment-arrives .6s ease-out}.ng-comment-arrival{color:var(--text2);font-size:11px;padding:5px 14px;background:var(--bg)}.ng-live-comment{font-size:13px;line-height:1.5;margin:6px 0;color:var(--text2)}.ng-live-comment a{color:inherit}.ng-live-comment b{color:var(--text);margin-right:4px}.ng-live-comment small{color:var(--text3);font-size:10px;margin-left:4px}from{opacity:0;background:#b8cce820;transform:translateY(5px)}to{opacity:1;background:transparent;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ng-new-comment{animation:none}}

.ng-share-preview{text-align:left;margin:4px 20px 18px;border:1px solid var(--sep);border-radius:7px;overflow:hidden}.ng-share-preview>img{width:100%;max-height:220px;object-fit:cover}.ng-share-preview>div{padding:13px}.ng-share-preview b{font-size:13px}.ng-share-preview p{font-size:13px;line-height:1.55;color:var(--text2);margin:8px 0}.ng-share-preview small{font-size:8px;letter-spacing:1.8px;color:var(--text3)}

/* Skyrim names and authored dialogue use the licensed game-inspired face. */
.prof:not(.me-profile) .bio,.post .cap,.cm[data-cm*=":seed-"] .tx,.cm.capt .tx,.ng-live-comment{font-family:var(--skyrim-font);font-size:20px;line-height:1.5}.post .cap .u,.cm .tx .b,.cm .meta,.ng-live-comment b{font-family:"DM Sans",sans-serif;font-size:13px}.ph .bio .nm,.hold-card,.nw-dialog,.nw-discovery,.nj-courier,.ng-play,.ng-share-preview>div>b{font-family:var(--skyrim-font)}

/* Keep full-size post actions inside narrow viewports. */
.pd .pacts{padding:8px 12px 0}.pd .pacts .ib:first-child{margin-left:0}.pd .pacts .ib:last-child{margin-right:0}@media(max-width:767px){.topbar .ib,.pacts .ib,.nw-mobile-journal,.ng-play-map,.nj-invitation>button{min-width:44px;min-height:44px}.post .vc{display:block;min-height:32px}.ng-play-header{gap:10px;flex-wrap:wrap}}

/* Keyboard access and names remain usable when navigation collapses. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.skip-link{position:fixed;top:8px;left:8px;z-index:1100;padding:12px 18px;border:2px solid var(--blue);border-radius:4px;background:var(--bg);color:var(--text);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.search-result{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:44px}
.search-result .av{flex:none}
.album-track:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}

/* Skyrim-authored story captions use the licensed title lettering. */
.sv .fr .t,.sv .fr .s,.sv .fr .lbl{font-family:var(--skyrim-font)}

/* An earned campaign win brightens the website in icy blue. The isolated game frame keeps its art. */
html[data-campaign="won"]{--bg:#173347;--bg2:#204256;--elev:#294d62;--hover:#bcf1ff12;--text:#f0faff;--text2:#b9ddec;--text3:#a3c9dc;--sep:#c5efff25;--sep2:#c5efff48;--blue:#a9e8ff;--blue-h:#e1f8ff;--red:#93dfff;--cg-green:#b9e7f2;--input:#1b3b50;--btn2:#325b72;--btn2-h:#416e87;--overlay:#071c2ad9;--story-bg:#122e41;--toast:#315d77;--toast-t:#f3fcff;--ring:linear-gradient(140deg,#e2f7ff,#71b9dc 58%,#b7ecff);--ring-seen:#588498;--nord-gold:#d9f2ff;--nord-ice:#c8f2ff;color-scheme:dark}
html[data-campaign="won"][data-theme="light"]{--bg:#edf9ff;--bg2:#dfeff8;--elev:#f8fcff;--text:#13354a;--text2:#365e75;--text3:#41677d;--sep:#245f8026;--sep2:#245f8040;--blue:#145e89;--blue-h:#0c4265;--input:#d5eaf5;--btn2:#c5e3f1;--btn2-h:#acd4e8;--hover:#307ca40c;--toast:#244e69;--toast-t:#f2fbff;--nord-gold:#286783;color-scheme:light}
html[data-campaign="won"] :is(.side,.topbar,.tabbar,.sheet,.pm,.panel-wrap,.nw-dialog,.nj-invitation){transition:background-color 1.8s ease,color 1.3s ease,border-color 1.3s ease}
[data-campaign="won"] .btn-b{background:var(--blue);color:var(--bg)}[data-campaign="won"] .btn-b:hover{background:var(--blue-h)}[data-campaign="won"] .ring .plus{background:#62b5d7}[data-campaign="won"] .mc{background:var(--input)!important;color:var(--text)}[data-campaign="won"] .mc :is(.wm,small){color:var(--text2)}[data-campaign="won"] .side .item.on:before{box-shadow:0 0 9px #a0e8ff90}[data-campaign="won"] .panel-wrap{background:linear-gradient(155deg,#8bdaff28,transparent 50%),var(--elev)}
[data-campaign="won"] :is(#app,#ov,#sv) .av{background:var(--btn2)!important;color:var(--text)}[data-campaign="won"] :is(#app,#ov,#sv) .av:not(:has(img)){background:var(--blue)!important;color:var(--bg)}[data-campaign="won"] :is(.cg-brand-mark,.nord-logo img,.visitor-art){filter:brightness(1.16) saturate(1.1) drop-shadow(0 0 9px #a3e5ff40)}
[data-campaign="won"] .nj-invitation{border-color:var(--sep2);background:radial-gradient(ellipse at 0 100%,#70caf443,transparent 75%),var(--bg2);color:var(--text)}[data-campaign="won"] .nj-invitation :is(small,.nj-game-icon,a>span:last-child){color:var(--nord-gold)}[data-campaign="won"] .nj-invitation>button{color:var(--blue)}[data-campaign="won"] .nj-courier-speech,[data-campaign="won"] .nj-courier::after{background:#21465b;border-color:#b1e9ff90}[data-campaign="won"] .nj-courier-greeting,[data-campaign="won"] .nj-courier-actions button:last-child{color:#c9e8f5}[data-campaign="won"] .nj-reward{background:radial-gradient(ellipse at 10% 50%,#376e8c,#1b3e54f7 70%);border-color:#bdeaff}[data-campaign="won"] .nj-reward :is(a,button){color:#e1f8ff}
[data-campaign="won"] :is(.nj-courier-name,.nj-courier-honour,.nj-reward span,.nj-journal>header>span,.nj-master){color:#d9f2ff}[data-campaign="won"] .nj-invitation a:hover b{color:var(--blue-h)}[data-campaign="won"] .nj-courier :is(button,summary,.nj-courier-message):focus-visible{outline-color:#c3efff}[data-campaign="won"] .nj-reward>img{filter:drop-shadow(0 0 14px #a4e5ff70)}
[data-campaign="won"] .album-arrow,[data-campaign="won"] .album-count{background:#1a3b51ed;color:#e5f8ff;border-color:#c5efff55}[data-campaign="won"] .album-arrow:hover{background:#356781}[data-campaign="won"] .album-dots button[aria-current]:after{box-shadow:0 0 6px #afeaff88}[data-campaign="won"] .sv .fr .lbl{background:#cceeff;color:#193d53}[data-campaign="won"] .sv .fr .s{color:#d9f2ff}
[data-campaign="won"] .ng-studio{background:#0a2438dc}[data-campaign="won"] .ngs-dialog{background:var(--bg);border-color:var(--sep2)}[data-campaign="won"] :is(.ngs-close,.ngs-scene,.ngs-field textarea,.ngs-share-x,.ngs-share-image){background:var(--input);color:var(--text);border-color:var(--sep2)}[data-campaign="won"] .ngs-header{border-color:var(--sep2)}[data-campaign="won"] .ngs-header h2{color:var(--text)}[data-campaign="won"] :is(.ngs-header p,.ngs-field small,.ngs-note,.ngs-preview>p){color:var(--text2)}[data-campaign="won"] :is(.ngs-eyebrow,.ngs-status,.ngs-preview-label span:last-child){color:var(--blue)}[data-campaign="won"] :is(.ngs-scenes legend,.ngs-field>span,.ngs-preview-label){color:var(--text)}[data-campaign="won"] .ngs-scene[aria-pressed=true]{background:var(--btn2);border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}[data-campaign="won"] .ngs-download{background:var(--blue);color:var(--bg);border-color:var(--blue-h)}
@media(prefers-reduced-motion:reduce){html[data-campaign="won"] :is(.side,.topbar,.tabbar,.sheet,.pm,.panel-wrap,.nw-dialog,.nj-invitation){transition:none}}

/* A returning hero sees silver lettering and luminous blue atmosphere; footage is untouched. */
[data-campaign="won"] .ng-gate{--ng-ink:#eefbff;--ng-gold:#c7edff;background:#19394e}[data-campaign="won"] .ng-gate-ready .ng-gate-color{background:linear-gradient(180deg,#1a496aa1,transparent 37%,#24587973 69%,#142f44)}[data-campaign="won"] .ng-gate-ready .ng-gate-color:after{background:#6ba4c4;opacity:.52}[data-campaign="won"] .ng-gate-ready .ng-gate-aurora{background:radial-gradient(ellipse at 50% 10%,#9ae4ff55,transparent 70%)}[data-campaign="won"] .ng-gate-ready .ng-gate-fog{background:radial-gradient(ellipse at 22% 46%,#bceeff44,transparent 55%),radial-gradient(ellipse at 74% 57%,#84c9e936,transparent 60%)}[data-campaign="won"] .ng-gate-ready .ng-gate-snow{filter:brightness(1.4) drop-shadow(0 0 3px #d8f7ff60)}
[data-campaign="won"] .ng-gate :is(.ng-gate-wordmark-sub,.ng-gate-controls button,.ng-gate-compass,.ng-gate-side,.ng-gate-description,.ng-gate-keyboard,.ng-gate-footer,.ng-gate-edition,.ng-gate-edition span,.ng-gate-quest-copy,.ng-gate-quest-label){color:#c1e4f4}[data-campaign="won"] .ng-gate :is(.ng-gate-title,.ng-gate-quote,.ng-gate-location strong){color:#f4fcff}[data-campaign="won"] .ng-gate-enter{background:#285d7f88;border-color:#c7edff99;color:#ebfaff}[data-campaign="won"] .ng-gate-enter:hover{background:#539bc24d;border-color:#e2f7ff}[data-campaign="won"] .ng-gate-quest-track>span{background:linear-gradient(90deg,#72bada,#dcf5ff)}[data-campaign="won"] .ng-gate-sigil-halo{background:radial-gradient(circle,#b1eaff45,transparent 65%)}[data-campaign="won"] .ng-gate-compass:after{background:linear-gradient(90deg,transparent,#b4ddec 30%,#b4ddec 70%,transparent)}[data-campaign="won"] .ng-gate-compass :is(i,b){border-color:#b4ddec}
[data-campaign="won"] .ng-spell-atmosphere{background:radial-gradient(ellipse at 50% 46%,#285775ed,#102f47fa 76%)}[data-campaign="won"] .ng-spell-halo{background:radial-gradient(circle,#b7ebff44,#80cfff1a 38%,transparent 65%)}[data-campaign="won"] :is(.ng-spell-magic,.ng-spell-seal){filter:brightness(1.3) saturate(1.05) drop-shadow(0 0 12px #b8ecff50)}

/* Static light, fine frost and shaded edges give the website depth without tinting its images. */
:root{--ng-ambient:#78bbde12;--ng-ambient-distant:#3d719514;--ng-frost:#d9f4ff03;--ng-edge:#03080e20;--ng-rim:#d6f1ff12;--ng-shadow:#02070d40;--ng-nav-light:#b6e7ff0d}
[data-theme="light"]{--ng-ambient:#73b9dd1c;--ng-ambient-distant:#79b6ce14;--ng-frost:#fff3;--ng-edge:#3e698509;--ng-rim:#fff9;--ng-shadow:#25445d1c;--ng-nav-light:#fff5}
html[data-campaign="won"]{--ng-ambient:#b8eaff18;--ng-ambient-distant:#5aa8d51c;--ng-frost:#d9f4ff04;--ng-edge:#06152320;--ng-rim:#dbf6ff1c;--ng-shadow:#06152440;--ng-nav-light:#cff3ff14}
html[data-campaign="won"][data-theme="light"]{--ng-ambient:#74bee326;--ng-ambient-distant:#80c9e51c;--ng-frost:#fff4;--ng-edge:#3e698509;--ng-rim:#fffb;--ng-shadow:#25445d1c;--ng-nav-light:#fff6}
body:not(.share){background-color:var(--bg);background-image:radial-gradient(ellipse at 38% 0,var(--ng-ambient),transparent 66%),radial-gradient(ellipse at 98% 48%,var(--ng-ambient-distant),transparent 62%),linear-gradient(90deg,var(--ng-edge),transparent 22%,transparent 78%,var(--ng-edge)),repeating-linear-gradient(116deg,var(--ng-frost) 0 1px,transparent 1px 6px);background-size:100% 900px,100% 1200px,100% 100%,6px 6px;background-repeat:no-repeat,no-repeat,no-repeat,repeat}
#app .side{background:linear-gradient(155deg,var(--ng-nav-light),transparent 48%),var(--bg);box-shadow:inset -1px 0 var(--ng-rim),10px 0 28px var(--ng-shadow)}
#app :is(.topbar,.tabbar){background:linear-gradient(160deg,var(--ng-nav-light),transparent 70%),var(--bg);box-shadow:0 4px 18px var(--ng-shadow)}
#app .tabbar{box-shadow:0 -4px 18px var(--ng-shadow)}
#app .post .media{border-color:var(--sep2);box-shadow:0 2px 3px var(--ng-shadow),0 12px 30px -12px var(--ng-shadow)}
#app :is(.hold-card,.nw-journal-card,.nj-invitation,.nj-achievement-post){box-shadow:inset 0 1px var(--ng-rim),0 2px 4px var(--ng-shadow),0 14px 30px -15px var(--ng-shadow)}
.sheet,.pm{box-shadow:inset 0 1px var(--ng-rim),0 20px 70px var(--ng-shadow)}

/* A selected route has an integrated rail on desktop and a short underline on mobile. */
#app .side .item{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
#app .side .item:is(.on,[aria-expanded="true"]){color:var(--text);background:linear-gradient(100deg,var(--ng-nav-light),transparent 85%),var(--input);box-shadow:inset 0 1px var(--ng-rim),0 2px 6px var(--ng-shadow)}
#app .side .item:is(.on,[aria-expanded="true"])::before{content:"";position:absolute;left:0;top:50%;width:3px;height:24px;border-radius:0 3px 3px 0;background:var(--blue);box-shadow:none;transform:translateY(-50%);transform-origin:center;animation:ng-nav-rail .24s ease-out both}
body.panel #app .side .item.on{color:var(--text2);background:none;box-shadow:none;font-weight:400}
body.panel #app .side .item.on::before{display:none}
body.panel #app .side .item.on .av{box-shadow:none}
body.panel #app .side .item.on:hover{color:var(--text);background:var(--hover)}
#app .tabbar :is(a,button){position:relative;border-radius:9px;transition:background-color .18s ease,color .18s ease}
#app .tabbar .on{background:linear-gradient(160deg,var(--ng-nav-light),transparent),var(--input)}
#app .tabbar .on::after{content:"";position:absolute;bottom:4px;left:50%;width:18px;height:2px;border-radius:2px;background:var(--blue);transform:translateX(-50%);animation:ng-nav-underline .24s ease-out both}
#app :is(.side .item.on,.tabbar .on)>svg{animation:ng-nav-icon .24s ease-out}
from{opacity:0;transform:translateY(-50%) scaleY(.35)}to{opacity:1;transform:translateY(-50%) scaleY(1)}}
from{opacity:0;transform:translateX(-50%) scaleX(.35)}to{opacity:1;transform:translateX(-50%) scaleX(1)}}
from{transform:scale(.93)}to{transform:scale(1)}}
@media(max-width:767px){body:not(.share){background-size:100% 650px,100% 900px,100% 100%,6px 6px}#app .post .media{box-shadow:0 5px 16px -10px var(--ng-shadow)}}
@media(prefers-reduced-motion:reduce){#app :is(.side,.panel-wrap,.side .item,.tabbar a,.tabbar button){transition:none}#app .side .item:is(.on,[aria-expanded="true"])::before,#app .tabbar .on::after,#app :is(.side .item.on,.tabbar .on)>svg{animation:none}}
@media(forced-colors:active){#app .side .item:is(.on,[aria-expanded="true"])::before,#app .tabbar .on::after{background:Highlight}#app :is(.side .item.on,.side .item[aria-expanded="true"],.tabbar .on){border:1px solid Highlight}}

/* The fixed rail may collapse over its reserved gutter; page geometry stays put. */
@media(min-width:768px){
  body.panel #app .side{padding-left:10px;padding-right:10px}
  body.panel #app .side .item{justify-content:center;padding-left:0;padding-right:0}
  body.panel #app .side-quest{display:none}
  #app .side .item:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
}
@media(min-width:768px) and (max-width:1263px){#app .side .item{justify-content:center;padding-left:0;padding-right:0}}
@media(min-width:768px) and (max-height:750px){
  #app .side .brand{height:72px}
  #app .side .brand .nw-brand-caption{display:none}
  #app .side .brand .wordmark{flex-direction:row;gap:8px;font-size:19px!important}
  #app .side .brand :is(.wordmark,.glyph) .cg-brand-mark{width:44px;height:44px}
  #app .side .item{padding-top:10px;padding-bottom:10px;margin-top:2px;margin-bottom:2px}
  #app .side-quest{margin:12px 0 8px;padding-top:12px;padding-bottom:12px}
  #app .side .bottom{padding-top:8px}
}

/* The brand story uses the same filled circular avatar as the portraits, with its full crest centered. */
#app .stories .av.nord-logo{background:radial-gradient(circle at 35% 25%,var(--btn2-h),var(--input) 78%)!important;box-shadow:inset 0 0 0 1px var(--sep2)}
#app .stories .av.nord-logo>img{display:block;flex:none;width:80%;height:80%;padding:0;object-fit:contain;object-position:50% 50%!important;transform:none!important;filter:none}

/* Familiar story proportions; the brand treatment stays inside the shared circle. */
#app .stories{gap:14px}
#app .stories .story{width:74px;flex:0 0 74px;gap:8px}
#app .stories .ring{width:66px;height:66px}
#app .stories .story>span{max-width:74px;font-size:12px;line-height:16px}
@media(max-width:767px){#app .stories{gap:10px}}

/* Profile identity should read at the same scale as the surrounding stats. */
#app .prof .bio{font-size:15px;line-height:1.55}
#app .prof .bio .nm{font-size:18px;line-height:1.4;font-weight:600;display:block;margin-bottom:4px}
#app .right>.me>div>.g{font-size:13px;line-height:1.45;margin-top:3px}
@media(max-width:767px){#app .prof .bio{font-size:14px}#app .prof .bio .nm{font-size:17px}}

/* Post controls carry their counts in one row; saved state remains at the far edge. */
.pacts{gap:2px;min-height:48px;flex-wrap:nowrap}
.pacts .ib{display:inline-flex;gap:5px;align-items:center;justify-content:center;width:auto;min-width:40px;min-height:44px;padding:6px 5px;margin:0!important;flex-shrink:0}
.pacts .ib svg{width:24px;height:24px;flex:none}
.pacts .ib span{font:500 12px/18px "DM Sans",Arial,sans-serif;font-variant-numeric:tabular-nums}
.pacts .save{margin-left:auto!important;min-width:40px}
.ib.reposted{color:var(--blue)}
.profile-note{padding:0 12px 14px;color:var(--text2);font-size:12px;line-height:1.5}
.post .cap{padding-top:5px}
@media(min-width:768px){
  body:not(.share) .pm{--post-panel:335px;--post-crop-ratio:.8;--post-height:min(calc(100dvh - 80px),700px,calc((100vw - 42px - var(--post-panel))/var(--post-crop-ratio)));height:var(--post-height);width:calc(var(--post-height)*var(--post-crop-ratio) + var(--post-panel) + 2px);max-width:calc(100vw - 40px);max-height:calc(100dvh - 80px);align-items:stretch}
  body:not(.share) .pm>.post-visual{flex:none;width:calc(var(--post-height)*var(--post-crop-ratio));min-width:0}
  body:not(.share) .pm .post-visual>.media{width:100%;height:var(--post-height);max-width:none;aspect-ratio:var(--post-crop-ratio);flex:none}
  body:not(.share) .pm>.pr{width:var(--post-panel);height:var(--post-height);flex:none;max-height:var(--post-height)}
  body:not(.share) .ov .nav{top:auto;bottom:4px;width:44px;height:24px;border-radius:12px;transform:none;background:transparent;color:#fff;box-shadow:none}
  body:not(.share) .ov .nav.l{left:calc(50% - 52px)}
  body:not(.share) .ov .nav.r{right:calc(50% - 52px)}
  body:not(.share) .ov>.x{top:2px;right:8px;padding:6px}
  .pm .pacts{padding:5px 6px 0;gap:0}
  .pm .pacts .ib{padding:6px 4px;gap:4px}
  .pm .pacts .ib span{font-size:11px}
  .pm .pacts .ib svg{width:24px;height:24px}
}
@media(max-width:380px){.pacts{gap:0}.pacts .ib{gap:3px;padding-left:3px;padding-right:3px}.pacts .ib span{font-size:11px}.post .pacts{padding-left:8px;padding-right:8px}}

@media(max-width:767px){.pd .addc.bar{bottom:var(--mobile-nav,48px)}.pd{padding-bottom:76px}}
.ng-share-preview:has(.ng-share-art){display:flex;align-items:center}
.ng-share-preview>.ng-share-art{padding:0;margin:12px 0 12px 12px}
.ng-share-preview>.ng-share-art+div{min-width:0}
.ng-share-preview:has(.ng-share-art) p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}


/* Character tags belong with the caption, below the supplied media. */
.tagged-people{font:12px/1.5 "DM Sans",sans-serif;color:var(--text3);padding:4px 0 8px}.tagged-people a{color:var(--text)}.post-caption .tagged-people{padding:0 12px 12px}

#app .post .media[data-reel-preview]{aspect-ratio:4/5!important}
/* Short desktop-width viewports (landscape phones): the taller counted action rail must stay inside the film. */
@media(min-width:768px) and (max-height:600px){.reel .racts{gap:2px;bottom:8px}.reel .racts>div{gap:0;font-size:10px}.reel .racts .ib{height:30px;min-height:30px;padding:2px}.reel .racts .ib svg{width:22px;height:22px}}
/* The Skyrim lettering runs small, so authored captions sit a step above the UI size. */
.reel .rinfo .capt{font-family:var(--skyrim-font);font-size:19px;line-height:1.35}
@media(max-width:767px){.reel .rinfo .capt{font-size:18px}}

/* Phones: the reel viewer is pinned between the top of the screen and the tab bar, so it fills whatever Safari leaves regardless of its toolbar state. */
@media(max-width:767px){body:not(.share) .main:has(.reels-wrap){padding-bottom:0}body:not(.share) .reels-wrap{position:fixed;top:0;left:0;right:0;bottom:var(--mobile-nav);height:auto;background:#000}body:not(.share) .reels{height:100%}body:not(.share) .reel{height:100%}}
