/* Shared navigation and page hierarchy for the reader and planning application. */
:root{--nx-header-height:76px;--nx-bottom-height:0px;--nx-line:#344052;--nx-muted:#b8c7dc;--nx-accent:#ffb5c7}
html{scroll-padding-top:calc(var(--nx-header-height) + 20px)}
body.nx-layout{padding-bottom:var(--nx-bottom-height)}
.nx-layout .nx-header{position:sticky;top:0;z-index:40;width:100%;margin:0;padding:0;background:#101722f5;border:0;border-bottom:1px solid var(--nx-line);backdrop-filter:blur(16px)}
.nx-header-inner{display:flex;align-items:center;gap:22px;max-width:1440px;min-height:var(--nx-header-height);padding:10px 32px;margin:auto;box-sizing:border-box}
.nx-header a{text-decoration:none;color:#dbe4f2}.nx-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:12px;line-height:1.2;letter-spacing:.07em}.nx-brand img{width:38px;height:38px}.nx-brand strong{display:block;font-size:22px;letter-spacing:.12em;color:#fff}
.nx-primary{display:flex;align-items:center;justify-content:center;gap:3px;flex:1;flex-wrap:nowrap;margin:0;padding:0}
.nx-primary a,.nx-explore,.nx-account{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:600;line-height:1.25;white-space:nowrap;box-sizing:border-box}
.nx-primary a svg{display:none}.nx-primary a[aria-current],.nx-explore[aria-current]{background:#502a3b;color:#ffd2dd}.nx-header a:hover{background:#222d40;color:#fff}.nx-header a.nx-brand:hover{background:transparent}.nx-explore{border:1px solid #56647a}.nx-header .nx-account{border:0;background:#f4b6c6;color:#291522;font-family:inherit;max-width:150px;overflow:hidden;text-overflow:ellipsis;display:block;text-align:center;margin:0;cursor:pointer}.nx-header .nx-account:hover{background:#ffcedb;color:#291522}
.nx-bottom{display:none}.nx-layout a:focus-visible,.nx-layout button:focus-visible,.nx-directory-search input:focus-visible{outline:3px solid #ffce79;outline-offset:4px}
body.nx-layout .shell,body.nx-layout[data-view=home] .shell{width:100%;max-width:none;margin:0;padding:0}
body.nx-layout .shell #main{width:100%;max-width:1440px;padding:28px 32px 52px;margin:auto;box-sizing:border-box}
.nx-layout .breadcrumb{max-width:1376px;margin:22px auto 0;padding:0 32px;color:var(--nx-muted);font-size:13px}.nx-layout[data-view=home] .breadcrumb{display:none}
.nx-layout .fan-notice{margin:0 0 24px;padding:15px 20px}.nx-layout>.fan-notice{margin:0;padding:14px 28px}.nx-layout .fan-notice__inner{max-width:1200px}.nx-layout .fan-notice p{font-size:12px;line-height:1.65;margin:5px auto 0;max-width:1160px}.nx-layout .fan-notice strong{font-size:14px}
.nx-layout .nx-workspace-nav{display:flex!important;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid var(--nx-line)}
.nx-workspace-nav a{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--nx-line);border-radius:9px;color:#dce6f5;font-size:14px;text-decoration:none;line-height:1.4}
.nx-workspace-nav a[aria-current]{background:#54283b;border-color:#b65f7d;color:#fff}.nx-workspace-nav a:hover{border-color:var(--nx-accent)}.nx-workspace-nav b{font-size:11px;min-width:20px;text-align:center;background:#263347;border-radius:6px;padding:2px 5px}
.nx-layout[data-view=characters] .nx-workspace-nav,.nx-layout[data-view=characters] .nx-member-status{display:none!important}
.nx-member-status{display:flex!important;gap:10px 22px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--nx-muted);margin:0 0 22px}.nx-member-status p{margin:0}.nx-member-status #sync-label:before{content:'●';color:#8acdb3;font-size:9px;margin-right:7px}.nx-member-status #sync-retry[hidden]{display:none}
.nx-layout .workspace-bar{margin:12px 0 18px}.nx-layout .workspace-bar h2{font-size:clamp(28px,3.5vw,42px);line-height:1.2}.nx-layout .workspace-bar p{max-width:620px}.nx-layout #workspace-evidence:empty{display:none}
.nx-dashboard-launchers{margin:20px 0 36px}.nx-section-heading h2{font-size:28px;margin:0 0 8px}.nx-section-heading p{color:var(--nx-muted);margin:0 0 22px}.nx-launcher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nx-launcher-grid>a{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--nx-line);border-radius:16px;background:linear-gradient(135deg,#1b2333,#111924);color:#f4f6fb;text-decoration:none;transition:transform .2s,border-color .2s}.nx-launcher-grid>a:hover{transform:translateY(-3px);border-color:#d4819e}.nx-launcher-number{font-size:12px;color:#ffcc80;letter-spacing:.1em}.nx-launcher-grid h3{font-size:25px;margin:18px 0 8px}.nx-launcher-grid p{color:var(--nx-muted);line-height:1.7;margin:0 0 24px}.nx-launcher-action{margin-top:auto;font-size:13px;color:var(--nx-accent);display:flex;justify-content:space-between;gap:12px}
.nx-layout #dashboard-view{display:flex;flex-direction:column}.nx-layout #dashboard-view[hidden]{display:none}.nx-layout .workspace-bar{order:0}.nx-layout #workspace-evidence{order:1}.nx-layout .nx-workspace-nav{order:2}.nx-layout .nx-member-status{order:3}.nx-layout .nx-dashboard-launchers{order:4}.nx-layout #builder{order:5}.nx-layout .lower-layout{order:6}.nx-layout .notes-panel{order:7}.nx-layout #saved-teams-panel{order:5}.nx-layout .dashboard-events-entry{order:8}.nx-layout #dashboard-view>footer{order:9}.nx-layout #catalogue-status{order:4}
.nx-layout .nx-dashboard-launchers{display:none!important}.nx-layout[data-view=dashboard][data-tool=overview] .nx-dashboard-launchers{display:block!important}.nx-layout[data-view=dashboard][data-tool=overview] :is(#builder,.lower-layout,.notes-panel,#workspace-evidence){display:none!important}
.nx-layout[data-view=dashboard][data-tool=builder] #damage{display:none}.nx-layout[data-view=dashboard][data-tool=builder] .lower-layout{grid-template-columns:minmax(0,1fr)}.nx-layout[data-view=dashboard][data-tool=builder] .roster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.nx-layout[data-view=dashboard][data-tool=damage] #builder>:not(.battle-toolbar){display:none}.nx-layout[data-view=dashboard][data-tool=damage] .lower-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.3fr);align-items:start}.nx-layout[data-view=dashboard][data-tool=damage] #damage{order:-1;position:static}.nx-layout[data-view=dashboard][data-tool=damage] .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-layout[data-view=dashboard][data-tool=damage] .notes-panel{display:none}.nx-tool-help{display:none}.nx-layout[data-tool=damage] .nx-tool-help{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px;font-size:13px}.nx-tool-help a{color:var(--nx-accent);text-decoration:underline;text-underline-offset:4px}
.nx-layout .home-events-entry{margin:0 0 12px;padding:20px 24px}.nx-layout .home-hero{min-height:520px}.nx-layout .home-access{max-width:500px}.nx-layout .home-library{margin-bottom:35px}.nx-site-directory{display:flex;gap:24px;justify-content:space-between;align-items:center;padding:24px;border:1px solid #526176;border-radius:14px;background:#172132;margin:28px 0}.nx-site-directory h2{margin:0 0 6px;font-size:25px}.nx-site-directory p{margin:0;color:var(--nx-muted)}.nx-site-directory>a{flex-shrink:0;color:var(--nx-accent);font-weight:600;text-underline-offset:4px}
.nx-layout .site-end nav{display:flex;gap:16px;flex-wrap:wrap}.nx-layout #release-notice,.nx-layout #toast{bottom:calc(var(--nx-bottom-height) + 16px)}
.nx-layout .event-tabs{top:calc(var(--nx-header-height) + 8px)}.nx-layout :is(#builder,#roster,#damage,.event-section){scroll-margin-top:calc(var(--nx-header-height) + 24px)}
.nx-layout.directory-page main.wrap{max-width:1250px}.nx-layout.directory-page .page-head{max-width:850px;padding-bottom:12px}.nx-layout.directory-page .content{max-width:none}.nx-directory-intro{max-width:760px;margin:0 0 28px}.nx-directory-intro>p{color:var(--nx-muted)}.nx-directory-intro label{display:block;font-weight:600;margin:22px 0 10px}.nx-directory-search{display:flex;gap:10px}.nx-directory-search input{flex:1;min-width:0;width:auto;padding:14px 16px;font:inherit;border-radius:10px;border:1px solid #65728a;background:#141c29;color:#fff;min-height:50px}.nx-directory-search button{margin:0;background:#27344a;border:1px solid #65728a;border-radius:10px;color:#f2f5fb;padding:12px 18px;min-height:50px;font:inherit}.nx-directory-count{font-size:13px}.nx-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.nx-directory-group{margin:0;padding:24px;border:1px solid var(--nx-line);border-radius:16px;background:#121b29;overflow:hidden}.nx-directory-heading{padding-bottom:16px;border-bottom:1px solid var(--nx-line)}.nx-directory-heading h2{margin:0 0 6px;font-size:28px}.nx-directory-heading p{margin:0;color:#ffcc80;font-size:13px}.nx-directory-group ul{list-style:none;padding:0;margin:0}.nx-directory-group li{padding:0;margin:0;border-bottom:1px solid #29354a}.nx-directory-group li:last-child{border:0}.nx-directory-group a{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#f1f4fa;text-decoration:none;padding:17px 6px;border-radius:8px;transition:background .2s}.nx-directory-group a:hover{background:#222e42}.nx-directory-group a strong{font-size:17px;line-height:1.4;display:block;font-weight:600}.nx-directory-group a small{display:block;color:var(--nx-muted);font-size:13px;line-height:1.65;margin-top:5px}.nx-directory-group a>b{color:var(--nx-accent);font-size:20px}.nx-directory-empty{padding:24px;background:#1b2638;border-radius:12px}.nx-game-links{margin-top:36px;padding:24px 0}.nx-game-links h2{font-size:27px}.nx-game-links p{color:var(--nx-muted)}.nx-game-links>div{display:flex;gap:12px;flex-wrap:wrap}.nx-game-links a{padding:12px 16px;border:1px solid #526176;border-radius:9px;color:var(--nx-accent);text-decoration:none}
.nx-layout [hidden]{display:none!important}
.nx-layout[data-view=dashboard] #nexus{display:none}.nx-directory-jumps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}.nx-directory-jumps a{padding:9px 13px;min-height:44px;box-sizing:border-box;border:1px solid #526176;border-radius:9px;color:#ffcad7;font-size:13px;text-decoration:none}.nx-directory-group{scroll-margin-top:calc(var(--nx-header-height) + 18px)}
.nx-layout[data-tool=damage] #damage{display:block!important;min-width:0}.nx-layout[data-tool=damage] #damage>label{display:block;margin:16px 0}.nx-layout[data-tool=damage] #damage>label select{width:100%;margin-top:8px}.nx-layout[data-tool=damage] .damage-result{margin:22px 0;min-height:0;padding:22px}.nx-layout[data-tool=damage] .damage-result strong{font-size:42px}.nx-layout .workspace-bar h1{margin:0 0 10px;font-size:clamp(28px,3.5vw,42px);line-height:1.2}.nx-layout .workspace-bar{padding-top:24px}
.nx-layout[data-view=dashboard] #workspace-evidence{order:8}.nx-layout:is([data-view=collection],[data-view=favorites],[data-view=saved-teams]) #workspace-evidence{display:none}
@media(max-width:1150px){.nx-header-inner{gap:12px;padding-inline:24px}.nx-primary a{padding-inline:9px;font-size:13px}.nx-brand{font-size:10px}.nx-brand strong{font-size:19px}.nx-header .nx-account{max-width:100px}.nx-primary a svg{display:none}}
@media(max-width:1000px){:root{--nx-header-height:66px;--nx-bottom-height:calc(68px + env(safe-area-inset-bottom,0px))}.nx-primary{display:none}.nx-brand{margin-right:auto}.nx-header-inner{gap:12px;padding:8px 20px}.nx-header .nx-account{max-width:140px}.nx-explore{min-height:42px}.nx-bottom{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:45;left:0;right:0;bottom:0;gap:0;margin:0;padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));background:#101823f5;border-top:1px solid #4a576d;backdrop-filter:blur(18px)}.nx-bottom a{min-width:0;min-height:57px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;color:#c6d2e6;text-decoration:none;font-size:11px;font-weight:600;line-height:1.2;border-radius:10px;white-space:nowrap}.nx-bottom a[aria-current]{background:#48283a;color:#ffd4df}.nx-bottom svg{width:21px;height:21px}.nx-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-layout[data-view=dashboard][data-tool=builder] .roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nx-layout[data-view=dashboard][data-tool=damage] .lower-layout{grid-template-columns:1fr}.nx-layout[data-view=dashboard][data-tool=damage] .roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.nx-header-inner{padding-inline:16px;gap:10px}.nx-header .nx-account{display:none}.nx-explore{padding:9px 10px;font-size:12px}.nx-brand img{width:32px;height:32px}.nx-brand strong{font-size:18px}.nx-layout .shell #main{padding:18px 16px 32px!important}.nx-layout .breadcrumb{padding:0 16px;margin-top:16px;font-size:12px}.nx-layout .fan-notice,.nx-layout>.fan-notice{padding:12px 14px}.nx-layout .fan-notice p{font-size:11px;line-height:1.6}.nx-layout .fan-notice{margin-bottom:16px}.nx-layout .home-events-entry{padding:16px;gap:12px}.nx-layout .home-events-entry .events-entry-symbol{display:none}.nx-layout .home-events-entry strong{font-size:20px}.nx-layout .home-events-entry p{font-size:13px;margin:6px 0}.nx-layout .home-hero{min-height:0}.nx-layout .home-copy h1{font-size:clamp(38px,10vw,60px)}.nx-layout .home-art{height:300px;min-height:0}.nx-layout .nx-workspace-nav{gap:7px}.nx-workspace-nav a{font-size:12px;padding:9px 10px;flex:1 1 calc(33% - 8px);justify-content:center;text-align:center}.nx-workspace-nav b{min-width:15px;padding:1px 3px}.nx-member-status{font-size:11px;gap:7px}.nx-layout .workspace-bar{gap:18px}.nx-launcher-grid{grid-template-columns:1fr}.nx-launcher-grid>a{padding:20px}.nx-launcher-grid h3{margin-top:12px}.nx-layout[data-view=dashboard][data-tool=builder] .roster-grid,.nx-layout[data-view=dashboard][data-tool=damage] .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-directory-grid{grid-template-columns:1fr;gap:18px}.nx-directory-group{padding:18px}.nx-directory-heading h2{font-size:25px}.nx-directory-search button{padding:12px}.nx-site-directory{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.nx-layout.directory-page main.wrap{padding:26px 16px}.nx-layout.directory-page .page-head h1{font-size:40px}.nx-layout.directory-page .page-head .lede{font-size:17px}}
@media(prefers-reduced-motion:reduce){.nx-launcher-grid>a,.nx-directory-group a{transition:none}.nx-launcher-grid>a:hover{transform:none}}
@media(max-width:650px){.nx-layout .nx-workspace-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.nx-workspace-nav a{min-width:0}.nx-layout[data-view=characters] .nx-workspace-nav{display:none!important}}
