/* Site-wide hierarchy pass. Deliberately excludes canonical catch-card internals. */
body[data-nr-section]{font-size:16px}
body[data-page=home] .space-window:before{display:none}
body[data-nr-section] .world-map-title{position:absolute;top:0;left:0;right:0;text-align:center;font:600 32px/1.3 var(--nr-title);margin:0;color:var(--nr-ink)}
body[data-nr-section] .planet-label{font-size:20px;line-height:1.4}
body[data-nr-section] .future-world{width:106px}
body[data-nr-section] .future-world b{font:600 16px/1.4 var(--nr-title);color:#d6d9ce}
body[data-nr-section] .future-world small{font:400 13px/1.5 var(--nr-body);color:#b8c3c3;letter-spacing:0;white-space:nowrap}
body[data-nr-section] :is(.token-guide p,.token-guide-columns p,.realm-heading p,.realm-choice p,.realm-launch p,.token-totals){font:400 16px/1.65 var(--nr-body);color:var(--nr-muted)}
body[data-nr-section] .token-guide h3{font:600 18px/1.4 var(--nr-title)}
body[data-nr-section] :is(.cream-link,.token-totals summary){font-size:15px}
body[data-nr-section] footer a{font:500 14px/1.5 var(--nr-body)}
body[data-nr-section] :is(footer small,.nr-local){font-size:12px!important;letter-spacing:.5px!important}
body[data-nr-section] :is(.eyebrow,.pf-kicker,.realm-launch>span){font:600 12px/1.5 var(--nr-body);letter-spacing:1px}
body[data-nr-section] .nr-header nav a{font-size:16px!important}
/* Combat: compact information still needs to be readable. */
body[data-nr-section] .pf-content p{font-size:16px;line-height:1.6}
body[data-nr-section] :is(.pf-current-path,.pf-quick select,.pf-item span,.pf-forge-list>button,.pf-details summary,.pf-link,.pf-toast){font:500 15px/1.5 var(--nr-body)}
body[data-nr-section] :is(.pf-supplies span,.pf-section-title span,.pf-hero-art>span,.pf-compare-current>span,.pf-forge-actions p,.pf-shop-currency,.pf-shop-note,.pf-shop-grid .shoptile .cat,.pf-keeper span,.pf-jobbuttons b,.pf-nav-note small){font:500 13px/1.5 var(--nr-body);letter-spacing:0;color:#c2cec7}
body[data-nr-section] .pf-shop-grid .shoptile .ds{font:400 15px/1.6 var(--nr-body)}
body[data-nr-section] :is(.pf-item strong,.pf-compare-current>div,.pf-forge-detail .usig,.pf-forge-detail .unext){font-size:16px;line-height:1.6}
body[data-nr-section] .pf-keeper-bubble .pf-kicker{font-size:12px;color:#716043}
body[data-nr-section] .pf-quick-weapon{min-width:260px}
/* Character catalog. No miniature labels or fine print as primary information. */
body[data-nr-section=character] :is(.heading p,.shop-bar p,.look p){font-size:16px;line-height:1.6}
body[data-nr-section=character] :is(.character small,.item-text small,.item-text span,.price,.currency small,#status,.look span,.look small,#selected-description){font-size:13px;line-height:1.6;letter-spacing:0;color:#becbc3}
body[data-nr-section=character] .item-text strong{font-size:17px;line-height:1.4}
body[data-nr-section=character] :is(.item-art small,.selected-art small){font-size:12px;letter-spacing:.4px;color:#c8d2c9}
body[data-nr-section=character] .tabs button{font-size:16px}
body[data-nr-section=character] .shop{grid-template-columns:minmax(0,1fr) 310px}
body[data-nr-section=character] .price{flex-wrap:wrap}
/* NovaTokens: retire micro pixel-font UI without changing card faces. */
body[data-nr-section=tokens] :is(.btn,.twitch-btn,.twitch-disconnect-btn,.tab-btn,.lb-tab,.shelf-sub-btn,.s2-filter){font:600 16px/1.5 var(--nr-body);letter-spacing:0;text-transform:none;min-height:44px}
body[data-nr-section=tokens] :is(.info-panel p,.info-panel li,.sbanner-desc,.sbanner-goal-desc,.m-req,.level-subtitle,.level-next,.shelf-sub,.chron-desc,.earn-desc){font:400 16px/1.65 var(--nr-body);color:#c3cdc6}
body[data-nr-section=tokens] :is(.field-label,.tbox-label,.tbox-sub,.xp-label,.xp-val,.quest-season,.ms-status,.earn-reward,.lfw-reward,.level-label,.level-xp-label,.level-xp-val,.potd-note,.rdm-label,.rdm-hint,.coll-name,.chron-time){font:500 14px/1.5 var(--nr-body);letter-spacing:0;color:#c2cec7}
body[data-nr-section=tokens] :is(.m-name,.earn-title,.potd-name,.lfw-slot-name,.info-title){font:600 18px/1.4 var(--nr-body);letter-spacing:0}
body[data-nr-section=tokens] :is(.card-title,.howto-heading,.lfw-title){font:600 23px/1.4 var(--nr-title);letter-spacing:0;color:var(--nr-ink)}
body[data-nr-section=tokens] :is(.vip-badge,.rank-tag,.puzzle-badge,.champion-badge,.class-badge){font:500 14px/1.5 var(--nr-body);padding:0 8px 0 0;border:0;border-radius:0;background:none;box-shadow:none;text-shadow:none;letter-spacing:0}
body[data-nr-section=tokens] .scanlines{display:none}
body[data-nr-section=tokens] #karaoke :is(p,td,input){font-size:16px!important;line-height:1.6}
body[data-nr-section=tokens] #karaoke :is(th,button){font-size:14px!important;letter-spacing:0!important}
body[data-nr-section=tokens] :is(.text-input,select){font:400 16px/1.5 var(--nr-body);min-height:46px}
@media(max-width:800px){body[data-nr-section=character] .shop{grid-template-columns:1fr}body[data-nr-section] .pf-quick-weapon{min-width:0}body[data-nr-section] .world-map-title{font-size:28px}body[data-nr-section] .future-world{width:84px}}
body[data-nr-section] .topbar .chip:before{font:500 13px/1.5 var(--nr-body)}body[data-nr-section] .topbar .chip{font-size:17px}body[data-nr-section] .logoutbtn{font-size:13px}body[data-nr-section] .pf-forge-detail :is(.usig,.unext):before{font:600 12px/1.5 var(--nr-body);letter-spacing:.5px}body[data-nr-section] .pf-filters>span{font-size:13px}body[data-nr-section] .pf-forge-detail :is(.uneed,.fneed,.uneeds,.uname small){font-size:13px}
body[data-nr-section] .pf-title>.pf-kicker{display:none}body[data-nr-section=tokens] .twitch-connect-desc{font-size:16px}body[data-nr-section=character] footer{font-size:12px;line-height:1.6}body[data-nr-section] .pf-title{margin-top:24px}

/* Compact award history, using the same static NovaToken face throughout. */
.nr-token-face{width:28px;height:28px;object-fit:contain;display:inline-block;vertical-align:middle;image-rendering:auto!important;flex-shrink:0}
#tab-showcase>.card,#tab-chronicles>.card{max-width:820px;margin-left:auto;margin-right:auto}
#showcaseList{display:grid!important;gap:0!important}
#showcaseList .pedestal{display:grid!important;grid-template-columns:48px minmax(0,1fr) 94px;align-items:center;gap:16px;padding:20px 8px!important;background:transparent!important;border:0!important;border-bottom:1px solid #ffffff20!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
.pedestal-rank,.pedestal-shiny-crown,.showcase-sub{display:none!important}
.pedestal-pfp{width:46px!important;height:46px!important;box-shadow:none!important;border:1px solid #78928a!important}
.pedestal-name{font:600 18px/1.4 Arial,sans-serif!important;color:#f0eadc!important;letter-spacing:0!important;overflow-wrap:anywhere}
.pedestal-fish{font:15px/1.5 Arial,sans-serif!important;color:#bfcfc8!important;margin:4px 0!important}
.pedestal-meta{display:flex;gap:10px;flex-wrap:wrap}
.pedestal-date,.chron-date{font:14px/1.5 Arial,sans-serif!important;color:#b3c1bc!important;letter-spacing:0!important}
.pedestal-tag{font:13px/1.5 Arial,sans-serif!important;padding:0!important;background:none!important;border:0!important;color:#d7bdf2!important}
.pedestal-amount,.chron-amount{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;font:600 20px/1.4 Arial,sans-serif!important;color:#efe4c8!important;text-shadow:none!important;white-space:nowrap}
.nr-shiny-amount .nr-token-face,.chron-row .shiny-img{border:2px solid #bc8bdf!important;border-top-color:#8ce1ce!important;border-right-color:#e7b887!important;border-bottom-color:#96b9f2!important;border-radius:8px;padding:3px;box-sizing:content-box;box-shadow:none!important;background:#142621!important}
.chron-row{gap:14px!important;padding:16px 4px!important}
.chron-body{min-width:0}.chron-desc{font:16px/1.5 Arial,sans-serif!important;color:#c6d2ce!important}.chron-user{color:#ede6d6!important;font-weight:600!important}
.chron-no-img,.chron-fish-img{width:48px!important;height:48px!important;flex-shrink:0;background:transparent!important;border:0!important;box-shadow:none!important}
.chron-no-img .nr-token-face{width:42px;height:42px}.chron-fish-img img[alt=novatoken]{image-rendering:auto!important}
.showcase-title{font:600 28px/1.3 Cinzel,Georgia,serif!important;letter-spacing:0!important;color:#eee5cd!important}
.showcase-header>div[style]{font:16px/1.6 Arial,sans-serif!important;background:transparent!important;border:0!important;padding:12px 0!important;color:#c6d2ce!important}
.tab-btn .nr-token-face{width:23px;height:23px;margin-right:6px}
@media(max-width:550px){#showcaseList .pedestal{grid-template-columns:38px minmax(0,1fr) 75px;gap:10px}.pedestal-pfp{width:36px!important;height:36px!important}.pedestal-amount,.chron-amount{font-size:17px!important}.pedestal-date,.chron-date{font-size:13px!important}}
#tab-showcase>.card,#tab-chronicles>.card{max-width:680px}
#showcaseList .pedestal::before,#showcaseList .pedestal::after{display:none!important}

/* Karaoke is a compact catalog, not a full-width dashboard. */
body[data-nr-section=tokens] #karaoke{width:calc(100% - 32px);max-width:820px!important;padding:22px!important;box-sizing:border-box}
body[data-nr-section=tokens] #karaoke>div:last-child>div:first-child{margin-bottom:8px!important}
body[data-nr-section=tokens] #karaoke>div:last-child>div:first-child span:last-child{font:600 22px/1.3 var(--nr-title)!important;letter-spacing:0!important;color:var(--nr-ink)!important}
body[data-nr-section=tokens] #karaoke p{text-align:left!important;margin:8px 0 12px!important}
body[data-nr-section=tokens] #karaokeCatalogList{max-height:340px!important;overflow:auto;scrollbar-gutter:stable}
body[data-nr-section=tokens] #karaokeCatalogList table{table-layout:fixed}
body[data-nr-section=tokens] #karaokeCatalogList td{padding:8px 10px!important;line-height:1.4!important;overflow-wrap:anywhere}
body[data-nr-section=tokens] #karaokeCatalogList td:first-child{width:44%}
body[data-nr-section=tokens] #karaokeCatalogList td:nth-child(2){width:30%}
body[data-nr-section=tokens] #karaokeCatalogList td:nth-child(3){color:#b8c6bf!important}
body[data-nr-section=tokens] #karaokeCatalogList tr:first-child td{position:sticky;top:0;background:#172c26;font-size:14px!important;color:#dbc991!important;z-index:1}
body[data-nr-section=tokens] #karaokeCatalogCount{font:14px/1.4 Arial,sans-serif!important;color:#b8c6bf!important;margin-top:10px!important}
body[data-nr-section=tokens] #karaokeCatalogSearch{box-sizing:border-box;font-size:16px!important}
body[data-nr-section=tokens] #karaoke>div:last-child>div:nth-of-type(2)>div>div:first-child{font:13px/1.4 Arial,sans-serif!important;letter-spacing:0!important}

.realm-choices:has(>.realm-choice:only-child){grid-template-columns:minmax(0,740px);justify-content:center}

.realm-welcome{display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden;border:1px solid #788c7055;border-radius:12px;background:#192d28;margin-bottom:28px}
.realm-welcome-copy{padding:38px;align-self:center}.realm-welcome-copy h1{margin:8px 0 18px;font-size:clamp(36px,4vw,52px)}.realm-welcome-copy p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:340px;color:#d0dbd1}.realm-welcome-copy .eyebrow{font-size:13px;color:#d9c48d}
.realm-welcome-scene{position:relative;height:340px;overflow:hidden}.realm-welcome-scene img{width:100%;height:100%;object-fit:cover;object-position:50% 85%;transform:scale(1.06)}.realm-welcome-scene>span{position:absolute;bottom:16px;right:20px;background:#132620ed;padding:8px 14px;border-radius:4px;color:#f0e5ca;font:600 17px Georgia}
.realm-page .realm-portraits,.realm-page .realm-keeper{height:170px}.realm-page .realm-keeper img{max-height:155px}.realm-page .realm-portraits img{max-height:135px}.realm-page .realm-choice>div:last-child{padding:20px 24px}.realm-page .realm-choice h2{font-size:24px}.realm-worlds{margin-top:32px;border-top:1px solid #d7bd7833;padding-top:26px}.realm-worlds h2{font-size:28px;margin:0 0 20px}.realm-forest-summary{display:flex;align-items:center;justify-content:space-between;gap:30px}.realm-forest-summary h3{font:600 22px Georgia;margin:0 0 10px}.realm-forest-summary p{font-size:16px;line-height:1.6;color:#c5d0c8;margin:6px 0}.realm-forest-summary .realm-explore-note{max-width:200px;color:#b2bcae;font-size:14px}.realm-future{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px;padding:22px 0;border-top:1px solid #ffffff15}.realm-future>div{display:flex;align-items:center;gap:14px}.realm-future h3{font:600 18px Georgia;color:#c5c9bd;margin:0 0 6px}.realm-future p{font-size:14px;color:#a7b5ae;margin:0}.realm-silhouette{display:block;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:#090f18;box-shadow:inset -5px -3px #17202c;border:1px solid #485164}
@media(max-width:700px){.realm-welcome{grid-template-columns:1fr}.realm-welcome-copy{padding:24px}.realm-welcome-scene{height:280px}.realm-forest-summary{display:block}.realm-future{grid-template-columns:repeat(2,1fr)}}

.realm-action{display:inline-block;margin-top:8px;padding:10px 16px;background:#dcc48a;color:#17231e;border-radius:4px;font:600 15px/1.4 Arial,sans-serif}.realm-choice:hover .realm-action,.realm-choice:focus-visible .realm-action{background:#efdaa4}

/* Approved Nova art: frame the stall half of the preserved concept sheet. */
.realm-page .realm-keeper.nova-stall-art{height:245px;background:#faf7ef;display:flex;justify-content:center;overflow:hidden}
.realm-page .realm-keeper.nova-stall-art img{width:232px;height:245px;max-height:none;max-width:none;object-fit:cover;object-position:right}
body[data-nr-section=shop] .pf-keeper{flex-basis:245px;padding:0}
body[data-nr-section=shop] .pf-keeper .nova-stall-art{width:245px;height:265px;overflow:hidden;border-radius:7px;background:#faf7ef}
body[data-nr-section=shop] .pf-keeper .nova-stall-art img{width:245px;height:265px;object-fit:cover;object-position:right;filter:none;transform:none;image-rendering:auto}
body[data-nr-section=shop] .pf-keeper span{font-size:14px;margin:8px 0}
.realm-page .realm-portraits{height:245px}
@media(max-width:650px){body[data-nr-section=shop] .pf-keeper{flex-basis:auto}}
.nova-stall-art img{clip-path:inset(0 0 0 7%)}
/* Standalone transparent stall replaces the concept-sheet crop. */
.realm-page .realm-keeper.nova-stall-art,body[data-nr-section=shop] .pf-keeper .nova-stall-art{background:transparent!important}
.realm-page .realm-keeper.nova-stall-art img,body[data-nr-section=shop] .pf-keeper .nova-stall-art img{width:100%;height:100%;object-fit:contain;object-position:center;clip-path:none;padding:8px;box-sizing:border-box}
/* Nova is rendered art, not the retired pixel-art octopus. */
.realm-page .realm-keeper.nova-stall-art img,body[data-nr-section=shop] .pf-keeper .nova-stall-art img{image-rendering:auto!important;filter:none!important;transform:none!important;padding:0}
body[data-nr-section=shop] .pf-keeper{flex-basis:290px}
body[data-nr-section=shop] .pf-keeper .nova-stall-art{width:290px;height:280px}
@media(max-width:650px){body[data-nr-section=shop] .pf-keeper{flex-basis:auto}body[data-nr-section=shop] .pf-keeper .nova-stall-art{width:220px;height:220px}}
/* Audit: clear signed-out state and readable future-location labels. */
.nr-login-note{font:16px/1.6 Arial,sans-serif;color:#c6d2ce;max-width:520px;margin:14px auto}
#tab-lookup:has(#profileResult[style*="display: block"]) .nr-login-note{display:none}
.realm-future h3{font-size:16px}.future-world b{font-size:14px!important}.future-world small{font-size:12px!important}
body[data-nr-section=tokens] .tab-btn::before,body[data-nr-section=tokens] .tab-btn::after{content:none!important}
body[data-nr-section=tokens] .tab-btn{font-size:15px!important}
@media(prefers-reduced-motion:reduce){#starfield,.particle{display:none!important}.orbit,.little-planet,.planet-cloud{animation:none!important}}
/* Keep the underlying FF3 layout hidden while the new local interface starts. */
body:is([data-nr-section=fight],[data-nr-section=shop]):not([data-player-flow=ready]) #main{visibility:hidden}
body:is([data-nr-section=fight],[data-nr-section=shop]) #hub,body:is([data-nr-section=fight],[data-nr-section=shop]) .study-heading{display:none!important}
.nr-loading{max-width:1184px;margin:30px auto;padding:24px;color:#d9dfd7;font:16px/1.5 Arial,sans-serif}
body[data-player-flow=ready] .nr-loading,body[data-player-flow=signedout] .nr-loading{display:none}
/* NovaTokens overhaul: compact navigation, illustrated introduction, readable rows. */
body[data-nr-section=tokens] .nr-token-intro{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;text-align:left;max-width:980px;margin:0 auto}
.nr-coin-stage{position:relative;width:220px;height:220px}.nr-coin-stage>img{display:none}.nr-coin-stage iframe{width:100%;height:100%;border:0;pointer-events:none}
.nr-token-welcome h1{font:600 40px/1.2 var(--nr-title);color:var(--nr-ink);margin:0 0 10px}.nr-token-welcome>p{font:18px/1.5 var(--nr-body);margin:0 0 24px;color:var(--nr-muted)}
.nr-token-basics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.nr-token-basics strong{display:block;font:600 18px/1.4 var(--nr-body);color:#e5cf95;margin-bottom:6px}.nr-token-basics span{font:15px/1.5 var(--nr-body);color:#c5d0c8;display:block}
body[data-nr-section=tokens] .twitch-connect-area{padding:0!important}.twitch-connect-desc{display:none}body[data-nr-section=tokens] .container>header{padding-bottom:16px!important}
body[data-nr-section=tokens] #tab-leaderboard>.card{max-width:760px;padding:20px 24px}
body[data-nr-section=tokens] .lb-row{grid-template-columns:26px 36px minmax(0,1fr) 76px;gap:12px;padding:10px 8px;min-height:52px;box-sizing:border-box}
body[data-nr-section=tokens] .lb-av{width:36px;height:36px;font-size:20px}
body[data-nr-section=tokens] .lb-avatar-crown{display:none}
body[data-nr-section=tokens] .lb-row .lb-name{font-size:17px;line-height:1.35}
body[data-nr-section=tokens] .lb-row>.lb-av-wrap+div>div:nth-child(2){font-size:13px!important;line-height:1.4!important;margin-top:2px!important;display:inline}
body[data-nr-section=tokens] .lb-row>.lb-av-wrap+div>div:nth-child(3){display:inline!important;margin:0 0 0 10px!important}
body[data-nr-section=tokens] .lb-row>.lb-av-wrap+div>div:nth-child(3)>span{font-size:12px!important;margin-right:8px}
body[data-nr-section=tokens] .lb-pts{font-size:21px;grid-column:auto;text-align:right}
body[data-nr-section=tokens] .lb-pts:after{display:none}
body[data-nr-section=tokens] .lb-title{margin:8px 0 12px}
.nr-quick-guide,.nr-guide-reference{max-width:820px;margin:0 auto 20px}.nr-quick-guide h2{font:600 26px/1.4 var(--nr-title);margin:0 0 18px}
.nr-quick-guide details,.nr-guide-reference,.nr-guide-group{border-bottom:1px solid #71847555;background:#142923aa;padding:0 20px}
.nr-quick-guide summary,.nr-guide-reference>summary,.nr-guide-group>summary{padding:18px 0;cursor:pointer;font:600 17px/1.4 var(--nr-body);color:#ece3ca}
.nr-quick-guide p,.nr-quick-guide li{font:16px/1.6 var(--nr-body);color:#c7d3ca}.nr-quick-guide ul{padding-left:22px}.nr-quick-guide details[open]{padding-bottom:12px}.nr-quick-guide a{color:#e5cf95}.nr-shiny-example{display:flex;gap:20px;align-items:center}.nr-shiny-example img{width:48px;height:48px;border:2px solid #b68bdd;border-top-color:#83d5c1;border-right-color:#e5bc81;border-bottom-color:#8bb3ea;border-radius:10px;padding:6px}
body[data-nr-section=tokens] #showcaseList .pedestal{padding:12px 6px!important;gap:12px}.chron-row{padding:10px 4px!important}
@media(max-width:650px){body[data-nr-section=tokens] .nr-token-intro{grid-template-columns:1fr;gap:0}.nr-coin-stage{width:150px;height:150px;margin:auto}.nr-token-welcome h1,.nr-token-welcome>p{text-align:center}.nr-token-basics{gap:14px}.nr-token-basics span{font-size:14px}body[data-nr-section=tokens] .lb-row{grid-template-columns:22px 32px minmax(0,1fr) 56px;gap:8px}body[data-nr-section=tokens] .lb-row>.lb-av-wrap+div>div:nth-child(3){display:none!important}body[data-nr-section=tokens] .lb-row .lb-name{font-size:16px}}
/* Daily fishing items belong with the collection, not above every account view. */
body[data-nr-section=tokens] #todayInPond{padding:16px 20px}
body[data-nr-section=tokens] #todayInPond .potd-grid{gap:12px}
body[data-nr-section=tokens] #todayInPond .potd-item{display:flex;align-items:center;gap:10px;padding:8px 12px;width:auto;min-width:0;box-shadow:none}
body[data-nr-section=tokens] #todayInPond .potd-img{width:44px;height:44px;margin:0}
body[data-nr-section=tokens] #todayInPond .potd-img img{max-width:44px;max-height:44px}
body[data-nr-section=tokens] #todayInPond .potd-name{font-size:15px}
/* Give the canopy breathing room and make each card action an actual link. */
.realm-page .realm-keeper.nova-stall-art{box-sizing:border-box;padding:24px 18px 12px}
.realm-choice:hover{transform:none;border-color:#bca36a55}
.realm-choice .realm-action{text-decoration:none}
.realm-choice:hover .realm-action{background:#dcc48a}
.realm-choice .realm-action:hover,.realm-choice .realm-action:focus-visible{background:#efdaa4;outline:2px solid #e9d69c;outline-offset:4px}
/* Unified realm cards: one semantic link per card, including its action label. */
.realm-choices{grid-template-columns:1fr 1fr}
.realm-choice{text-align:center;cursor:pointer}
.realm-choice:hover,.realm-choice:focus-visible{border-color:#dfc88c;background:#20362f;outline-offset:4px}
.realm-choice:hover .realm-action,.realm-choice:focus-visible .realm-action{background:#efdaa4}
.realm-page .realm-portraits{gap:0;padding:14px 12px;box-sizing:border-box}
.realm-page .realm-portraits img{width:31%;height:200px;max-height:200px;object-fit:contain}
.realm-page .realm-portraits img.default-character{height:230px;max-height:230px;width:36%}
/* My Tokens: spending balance first, rewards next, optional progression last. */
body[data-nr-section=tokens] #tab-lookup>.card{max-width:900px;margin:0 auto;padding:24px}
body[data-nr-section=tokens] #profileResult{margin-top:16px}
body[data-nr-section=tokens] .profile-row{margin-bottom:18px;padding-bottom:16px}
body[data-nr-section=tokens] .profile-name{font:600 24px/1.3 var(--nr-body);overflow-wrap:anywhere}
body[data-nr-section=tokens] .token-split.three{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-bottom:24px}
body[data-nr-section=tokens] .token-box{padding:16px;background:#10211f;border:1px solid #52695b;border-radius:8px}
body[data-nr-section=tokens] .token-box:first-child{background:#233b30;border-color:#bdab70}
body[data-nr-section=tokens] .token-box:before{display:none}
body[data-nr-section=tokens] .tbox-num{font:650 32px/1.3 var(--nr-body);color:#f0e5c7;text-shadow:none;font-variant-numeric:tabular-nums}
body[data-nr-section=tokens] .tbox-label{font-size:15px;letter-spacing:0;text-transform:none;color:#d2decf}
body[data-nr-section=tokens] .tbox-sub{font-size:14px}
body[data-nr-section=tokens] .milestone-grid{gap:12px}
body[data-nr-section=tokens] .milestone-card{padding:16px;background:#172b25;border:1px solid #486050;animation:none}
body[data-nr-section=tokens] .m-icon{font-size:26px;margin-bottom:8px}
body[data-nr-section=tokens] .m-name{font-size:17px}
body[data-nr-section=tokens] .m-req{font-size:15px;line-height:1.5}
.nr-reward-rules{font:15px/1.6 var(--nr-body);color:#c9d3c9;margin:16px 0}
.nr-profile-progress{border-top:1px solid #52695b;margin-top:22px}
.nr-profile-progress>summary{cursor:pointer;padding:18px 0;font:600 16px/1.5 var(--nr-body)}
@media(max-width:650px){
 .realm-choices{grid-template-columns:1fr;gap:18px}.realm-page .realm-portraits{height:225px;padding:12px}.realm-page .realm-portraits img{height:170px;max-height:170px}.realm-page .realm-portraits img.default-character{height:200px;max-height:200px}
 .realm-page .realm-choice>div:last-child{padding:16px 20px 24px}.realm-page .realm-choice h2{font-size:24px;margin-top:0}.realm-page .realm-keeper.nova-stall-art{height:245px;padding-top:24px}
 body[data-nr-section=tokens] .container{width:100%;padding:0 16px;box-sizing:border-box}
 body[data-nr-section=tokens] .tab-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px}
 body[data-nr-section=tokens] .tab-btn{min-width:0;padding:10px 4px;font-size:14px!important;white-space:normal}
 body[data-nr-section=tokens] #tab-lookup>.card{padding:18px 14px}
 body[data-nr-section=tokens] .token-split.three{grid-template-columns:1fr 1fr;gap:10px}
 body[data-nr-section=tokens] .token-split.three>.token-box:first-child{grid-column:1/-1}
 body[data-nr-section=tokens] .milestone-grid{grid-template-columns:1fr}
 body[data-nr-section=tokens] .tbox-num{font-size:28px}
 .nr-token-basics{grid-template-columns:1fr;gap:10px}.nr-token-basics>div{display:grid;grid-template-columns:64px 1fr;gap:12px}.nr-token-basics strong{font-size:16px}.nr-token-basics span{font-size:15px}
 .nr-token-welcome h1{font-size:32px}.nr-token-welcome>p{font-size:16px;margin-bottom:18px}
}
.nr-karaoke-guide{max-width:820px;margin:0 auto 20px;background:#142923aa;border-bottom:1px solid #71847555;padding:0 20px}
.nr-karaoke-guide>summary{padding:18px 0;cursor:pointer;font:600 17px/1.4 var(--nr-body);color:#ece3ca}
body[data-nr-section=tokens] .nr-karaoke-guide #karaoke{width:100%;margin:0!important;padding:0 0 20px!important;border:0;box-shadow:none;background:none}
@media(max-width:650px){.realm-future{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.realm-future>div{min-width:0;gap:8px;align-items:flex-start}.realm-future>div>div{min-width:0}.realm-future h3,.realm-future p{overflow-wrap:anywhere}.realm-silhouette{width:30px;height:30px}.nr-karaoke-guide{padding:0 14px}}
@media(max-width:650px){body[data-nr-section] .nr-header nav{display:grid!important;grid-template-columns:1fr 1fr;gap:4px 18px!important}body[data-nr-section] .nr-header nav a{padding:8px 0!important}body[data-nr-section=tokens] .tab-btn .nr-token-face{display:none}}
/* Bring the lineup closer to its caption without changing the character artwork. */
.realm-page .realm-portraits img{transform:translateY(32px)}
@media(max-width:650px){.realm-page .realm-portraits img{transform:translateY(24px)}}
/* Price tags should be easy to read, not full-width imitation buttons. */
.pf-shop-grid .shoptile .pr,.pf-item-detail-card .pr{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto;min-width:90px;max-width:100%;padding:8px 16px;margin:12px auto 0;font:650 19px/1.4 Arial,sans-serif;box-sizing:border-box}
.pf-shop-grid .shoptile .pr img,.pf-item-detail-card .pr img{width:30px;height:30px;max-width:none;max-height:none;object-fit:contain;image-rendering:auto}
.pf-stock-status,.pf-rotation-note{font:15px/1.5 Arial,sans-serif!important;color:#c9d5cb!important}
body[data-nr-section=fight] .pf-rotation-note{display:none}
/* Selection is conveyed by the gold highlight and aria-pressed, not extra arrows. */
body[data-nr-section=character] .character>span{display:none}
.forest-planet .forest-miniature{background:none!important;box-shadow:none!important;border-radius:0;overflow:visible;transform:none!important}.forest-miniature svg{display:block;width:100%;height:100%;overflow:visible}
.nr-wardrobe-default{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:center;padding:32px;background:#1a3028;border:1px solid #647b5e;border-radius:12px}.nr-wardrobe-default>img{width:100%;height:260px;object-fit:contain}.nr-wardrobe-default h2{font-size:30px}.nr-ownership-note{max-width:520px;font:16px/1.6 Arial;color:#bdcbbf}.nr-wardrobe .realm-action{text-decoration:none;margin-top:18px}@media(max-width:650px){.nr-wardrobe-default{grid-template-columns:1fr;padding:24px;gap:8px;text-align:center}.nr-wardrobe-default>img{height:210px}}
/* Daily pond items use equal tiles regardless of name length or sprite shape. */
body[data-nr-section=tokens] #todayInPond .potd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:540px;margin:12px auto;gap:12px;align-items:stretch}
body[data-nr-section=tokens] #todayInPond .potd-item{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-width:0;height:124px;padding:12px 8px;gap:8px;box-sizing:border-box}
body[data-nr-section=tokens] #todayInPond .potd-img{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;margin:0}
body[data-nr-section=tokens] #todayInPond .potd-img img{width:48px;height:48px;max-width:48px;max-height:48px;object-fit:contain}
body[data-nr-section=tokens] #todayInPond .potd-name{display:flex;align-items:center;justify-content:center;min-height:40px;margin:0;font-size:15px;line-height:20px;text-align:center;overflow-wrap:anywhere}
@media(max-width:420px){body[data-nr-section=tokens] #todayInPond{padding:14px 10px}body[data-nr-section=tokens] #todayInPond .potd-grid{gap:8px}body[data-nr-section=tokens] #todayInPond .potd-item{height:140px;padding:10px 5px}body[data-nr-section=tokens] #todayInPond .potd-name{font-size:14px;min-height:60px}}
/* Keep list markers inside the guide card's content area. */
body[data-nr-section=tokens] #tab-howto .info-panel :is(ul,ol){padding-inline-start:26px;margin-inline:0;list-style-position:outside}
body[data-nr-section=tokens] #tab-howto .info-panel li{padding-inline-start:3px}
/* 🔤 FISH FIGHT: NOTHING UNDER 13PX (Drew 2026-09-26). The 6-9px pixel-font labels (bestiary, feats, leaders) move to the body
   font at 13px, because Press Start 2P at 13px shouts; everything else small comes up to 13-14px. Scan: scratchpad small_text_selectors.cjs */
body[data-nr-section] :is(.eyebrow,.pf-kicker,.realm-launch>span),body[data-nr-section] .pf-keeper-bubble .pf-kicker{font-size:13px}
body[data-nr-section] :is(.feat-stream,.feat-prog,.feat-cat,.lb-job,.bl-count,.be-no,.lb-table th,.lb-table td.lb-rank){font-family:var(--nr-body)!important;font-size:13px!important;font-weight:700;letter-spacing:.06em;line-height:1.4}
body[data-nr-section] :is(.feat-desc,.lockmsg,.abdesc,.pf-path-copy>small,.pf-home-links small,.pf-weapon-card>span,.pf-accessory-heading>span){font-size:14px!important;line-height:1.5}
body[data-nr-section] :is(.pf-fighter-name>span,.pf-control-label,.pf-weapon-card>b,.bl-fbtn,.abmain>.k,.fcard-path,.be-nums>span,.mlbl,.wtag,.pf-path-card>b,.pf-jobbuttons b,.pf-jobbuttons span>b,button>b){font-size:13px!important;letter-spacing:.04em;line-height:1.4}
body[data-nr-section] :is(td.lb-name,.lb-val){font-size:14px!important}
body[data-nr-section] .pf-battle-facts span{font-size:13px!important;letter-spacing:.06em}

/* Loading states occupy real space and look like part of the game UI. */
.nr-loading{position:relative;display:grid;place-items:center;min-height:220px;max-width:760px;margin:56px auto;padding:34px;border:1px solid #8d794a88;border-radius:12px;background:linear-gradient(145deg,#1b3029dd,#101d1ddd);box-shadow:inset 0 0 0 4px #a2874924,0 18px 50px #0005;color:#ead9aa;text-align:center;font:600 22px/1.4 var(--nr-title)}
.nr-loading::after{content:"";position:absolute;bottom:46px;width:180px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#d9bf83,transparent);animation:nr-load 1.3s ease-in-out infinite}
@keyframes nr-load{0%,100%{opacity:.35;transform:scaleX(.55)}50%{opacity:1;transform:scaleX(1)}}
.pf-shop-loading{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:18px;min-height:220px;padding:28px;border:1px solid #465a52;border-radius:10px;background:#142420;color:#eee7d8;text-align:left}
.pf-shop-loading-art{width:62px;height:62px;border-radius:50%;border:2px solid #5f725f;border-top-color:#ddc687;animation:nr-spin 1s linear infinite}
.pf-shop-loading strong,.pf-shop-loading small{display:block}.pf-shop-loading strong{font:600 20px/1.4 var(--nr-title)}.pf-shop-loading small{margin-top:5px;font:15px/1.5 var(--nr-body);color:#bdc9c3}
@keyframes nr-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.nr-loading::after,.pf-shop-loading-art{animation:none}}

/* NovaTokens uses clear labels until its four approved tab pictures are painted. */
body[data-nr-section=tokens] .tab-btn{min-height:50px;padding:11px 14px!important;font:600 15px/1.3 var(--nr-body)!important;letter-spacing:0!important}
body[data-nr-section=tokens] .tab-btn::before,body[data-nr-section=tokens] .tab-btn::after{content:none!important}
body[data-nr-section=tokens] footer{color:#aebbb8!important;border-top-color:#46554d!important}
body[data-nr-section=tokens] footer a{color:#c8d1cd!important;opacity:1!important;font-size:.65rem!important}
body[data-nr-section=tokens] footer>div:last-of-type{color:#82918d!important;font-size:.58rem!important}
.realm-choices:has(.realm-choice-unified){grid-template-columns:1fr}
