/* DRAG.SU — shared page styles. Profile and moderation rules are in community.css. */
:root{--paper:#f3f0eb;--white:#faf7f2;--ink:#30151f;--line:#d9d0cb;--muted:#72666a;--layout-max:1536px;--layout-gutter:32px}
body{font-size:16px}h1,h2,h3{letter-spacing:-.025em}.icon{display:inline-block;width:21px;height:21px;flex:none;vertical-align:middle}.site-main{max-width:var(--layout-max);padding:0 32px 32px}.header-inner{max-width:var(--layout-max);min-height:64px;gap:26px}.site-header{min-height:64px}.brand{font-size:36px;letter-spacing:0}.brand>.icon{width:34px;height:36px}.main-nav{gap:30px}.main-nav>a{font-size:16px}.header-search{margin-left:0;max-width:510px;height:38px}.header-icon{margin-left:auto;display:flex}.header-icon+.header-icon{margin-left:0}.admin-link{font-size:13px}.site-footer{padding:24px 32px;max-width:1536px}.first-heading{padding-top:16px;margin-bottom:12px}.first-heading h1{font-size:34px}.universe-banner{aspect-ratio:2.7/1}.universe-banner>div{left:24px;bottom:18px}.universe-banner h2{font-size:30px;text-shadow:0 2px 8px #000}.universe-banner p{margin-top:14px;gap:28px}.universe-banner p a{font-size:16px}.tabs{margin:12px 0 20px}.tabs a{padding:12px 22px;font-size:16px}.tabs a+a{border-left:1px solid var(--line)}.home-columns{grid-template-columns:minmax(0,1.85fr) minmax(330px,1fr);gap:26px}.section-heading h2,.editorial-column>h2{font-size:32px}.catalog-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px}.catalog-toolbar form{display:flex;gap:10px;flex:1;min-width:0}.catalog-toolbar .search-input{min-width:120px}.catalog-toolbar select{max-width:145px;padding:8px;font-size:14px}.catalog-toolbar input{min-width:0}.catalog-toolbar .button{padding:8px 10px}.search-input{background:#ffffff30}.search-input input{width:100%;min-width:0}.view-toggle{flex:none}.view-toggle a{padding:9px 12px}.home-columns .catalog-toolbar{flex-wrap:wrap}.home-columns .catalog-toolbar form{flex-basis:70%}.home-columns .catalog-toolbar select{max-width:115px}.character-table{min-width:570px}.character-table td{padding:5px 13px;height:47px}.character-table th{padding:9px 13px}.character-table .portrait{width:42px;height:38px;aspect-ratio:auto}.character-table .character-name strong{font-size:15px}.character-table tbody tr:nth-child(even){background:#e6e0de}.editorial-column .article-card.compact{grid-template-columns:43% 1fr;gap:16px;margin:0 0 12px;padding-bottom:12px}.editorial-column .article-cover{aspect-ratio:1.55;height:100%;min-height:135px}.editorial-column .article-card h3{font-size:22px}.editorial-column .article-card p{font-size:15px;line-height:1.4}.editorial-column .article-card .eyebrow{font-size:11px;margin-bottom:6px}.editorial-column .text-link{float:right}.pagination{margin:16px 0}.new-dossiers{margin-top:16px;padding-top:14px}.new-dossiers .section-heading{margin-bottom:14px}.new-dossiers>div:last-child{gap:20px}.dossier-small{border-right:1px solid var(--line);padding-right:14px}.dossier-small:last-child{border:0}.dossier-small .portrait{width:42%;aspect-ratio:1.5}.dossier-small p{font-size:13px;line-height:1.4}.dossier-small h3{font-size:18px}.dossier-small small{font-size:13px}.browse-layout{grid-template-columns:235px minmax(0,1fr);gap:28px}.page-heading h1{font-size:48px}.page-heading p{font-size:21px}.filters details{border-top:1px solid var(--line);padding:15px 0}.filters summary{font-size:21px;font-weight:600;cursor:pointer;margin-bottom:10px}.filter-option{display:flex;gap:10px;padding:7px 0;font-size:16px}.filter-option>span{width:20px;height:20px;border:1px solid #aaa;border-radius:2px;flex:none;display:grid;place-items:center}.filter-option.active>span{background:var(--wine);color:white;border-color:var(--wine)}.filters .text-link{margin:20px 0}.alphabet{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px;margin:16px 0}.alphabet a{padding:5px 8px;border-radius:3px}.alphabet a.active{color:white;background:var(--wine)}.articles-directory{padding-top:24px}.articles-directory .breadcrumbs{padding-top:0}.filter-choice{font-size:17px}.directory-search{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex:1;min-width:0}.directory-search>input{flex:1;min-width:0}.featured-story{margin-bottom:16px}.featured-story .article-card{display:grid;grid-template-columns:62% 1fr}.featured-story .article-cover{height:100%;aspect-ratio:3.5}.featured-story h3{font-size:29px}.featured-story .article-card-copy{padding:22px}.article-grid{gap:18px}.article-card .article-card-copy{padding:15px}.article-card .eyebrow{font-size:11px;padding:3px 6px;margin-bottom:7px}.article-card h3{font-size:22px}.article-card p{font-size:16px;line-height:1.45}.article-card .text-link{font-size:16px}.article-grid .article-cover{aspect-ratio:2.3}.universe-directory{gap:20px}.universe-directory>article{grid-template-columns:52% 1fr}.universe-directory-image{min-height:230px}.universe-directory article>div{padding:24px;display:flex;flex-direction:column}.universe-directory p{font-size:18px}.universe-directory .action-row{margin-top:auto}.directory-heading{margin-top:12px;margin-bottom:30px}.directory-heading h1{font-size:48px}.directory-heading p{font-size:19px}.directory-heading form{max-width:530px}.dossier-layout{grid-template-columns:200px minmax(0,1fr) 350px;gap:26px}.contents-nav a{font-size:17px;padding:11px 12px}.contents-nav a:hover{background:#e5dadd}.detail-title{flex-wrap:wrap}.detail-title h1{font-size:46px}.dossier-info>.portrait-large{aspect-ratio:1.15}.facts{border:1px solid var(--line);border-radius:4px}.facts h2{padding:10px 14px;margin:0;border-bottom:1px solid var(--line)}.facts dl>div{padding:9px 14px;border-bottom:1px solid var(--line)}.related-characters a{padding:12px 0}.related-characters .portrait{width:65px}.dossier-body #relations .character-grid{grid-template-columns:repeat(3,1fr)}.dossier-body #gallery{margin-top:25px}.article-main-image{border-radius:4px;aspect-ratio:2.4;object-fit:cover}.article-layout{grid-template-columns:minmax(0,1fr) 300px;gap:40px}.article-title{font-size:48px;max-width:1000px}.article-sidebar{border-left:1px solid var(--line);padding-left:24px}.article-sidebar section{margin-bottom:28px}.universe-hero{aspect-ratio:4/1;max-height:360px}.universe-hero .button{color:white;border-color:#ffffff90;margin-top:15px}.universe-intro{margin-top:24px}
/* Profile: wide cover, identity, four portraits, two stories, world sidebar. */
.member-profile{max-width:none;margin:0;border:1px solid var(--line);background:var(--white)}.profile-cover{height:auto;aspect-ratio:5.5;position:relative;overflow:hidden}.profile-cover>img{height:100%;object-position:center 45%}.cover-edit{position:absolute;right:24px;top:20px;background:#201b22aa;color:white;border-color:#ffffff60}.profile-identity{display:flex;position:relative;gap:22px;padding:16px 30px 20px;align-items:flex-start;min-height:165px}.member-avatar{position:relative;width:170px;height:170px;margin-top:-76px;border:5px solid var(--white);border-radius:50%;flex:none;box-shadow:0 3px 7px #0002}.member-identity-copy{min-width:0;flex:1}.member-name h1{font-size:40px;line-height:1.1;margin:0 0 6px}.member-handle{font-size:14px;margin:5px 0}.member-bio{font-size:16px;margin:5px 0 12px}.profile-counts{display:flex;flex-wrap:wrap;gap:24px;margin:10px 0 0}.profile-counts>span{display:flex;align-items:center;gap:8px;font-size:16px}.profile-identity-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.role-badge{font:15px Georgia,serif;padding:4px 9px;border:0;gap:7px}.role-badge .icon{width:18px;height:18px}.role-admin{background:#e9cdce;color:#661d30}.role-moderator{background:#176573;color:white}.role-editor{background:#245a92;color:white}.role-user{background:#777;color:white}.vip-badge{font:15px Georgia,serif;color:#885916;background:#f3dbad;border:0;padding:5px 9px;white-space:nowrap}.profile-tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 30px;gap:26px}.profile-tabs a{padding:12px 18px;font-size:16px}.profile-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding:22px 30px 28px}.profile-collection .section-heading{margin-bottom:12px}.profile-collection .section-heading h2{font-size:28px}.profile-content .character-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.profile-content .character-tile{border:1px solid var(--line);border-radius:5px;background:#f8f5ef;overflow:hidden;padding-bottom:9px}.profile-content .portrait-large{aspect-ratio:1.15;border-radius:0}.profile-content .character-tile h3{font-size:18px;margin:9px 10px 3px}.profile-content .character-tile>span:not(.portrait){margin:0 10px;font-size:14px}.profile-content .article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-content .article-card .article-cover{aspect-ratio:3.2}.profile-content .article-card h3{font-size:19px}.profile-content .article-card p,.profile-content .article-card .text-link{display:none}.profile-sidebar .panel{padding:18px;margin:0 0 16px}.profile-sidebar h2{font-size:24px;margin-bottom:14px}.favorite-world{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}.favorite-world:last-child{border:0}.favorite-world>img{width:68px;height:66px;border-radius:3px}.favorite-world>span:nth-child(2){flex:1;min-width:0}.favorite-world strong{font-size:16px;display:block}.favorite-world small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.profile-sidebar .profile-vip-panel{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(120deg,#f9edda,#f1dfb9);border-color:#efdfc2}.vip-crown{font-size:47px;line-height:1;color:#c58a25;flex:none}.profile-vip-panel>div{min-width:0}.profile-vip-panel h2{font-size:23px;white-space:normal;margin:0 0 7px}.profile-vip-panel p{font-size:14px;margin:0 0 14px}.profile-vip-panel .text-link{font-size:15px}.profile-empty{border:1px dashed var(--line);padding:24px;margin:0 0 20px;color:var(--muted);font-size:16px;border-radius:4px}.profile-private-note{font-size:12px}.blocked-profile{margin:18px 30px;padding:20px;background:#f8e4e4;border:1px solid #e8b4bd;border-radius:4px}.profile-warning{padding:18px 30px;background:#fff0ce}.account-card{max-width:1050px;margin:24px auto}.icon-button{min-width:42px}.moderation-menu{position:relative}.moderation-menu summary{list-style:none;cursor:pointer}.moderation-menu>div{position:absolute;right:0;top:48px;min-width:265px;background:var(--white);box-shadow:0 8px 25px #321b2526;border:1px solid var(--line);z-index:10;border-radius:5px}.moderation-menu>div>*{display:block;padding:13px 18px;text-align:left;width:100%;font:15px Georgia,serif;border-bottom:1px solid var(--line)}.moderation-menu>div>*:hover{background:#eee3e4}.moderation-drawer{position:fixed;inset:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(480px,100%);max-width:100%;margin:0;padding:26px;border:0;border-top:6px solid var(--wine);background:var(--white);color:var(--ink);box-shadow:-12px 0 50px #0002;overflow:auto}.moderation-drawer::backdrop{background:#21141e70}.drawer-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.drawer-heading h2{font-size:30px}.drawer-user{display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:22px 0}.drawer-user img{width:80px;height:80px;border-radius:50%;border:3px solid white}.drawer-user h3{font-size:26px;margin-bottom:9px}.moderation-drawer fieldset{border:0;padding:18px 0 0;margin:0}.moderation-drawer legend{font-weight:bold;padding-top:18px}.duration-choices{display:flex;gap:7px;flex-wrap:wrap}.duration-choices label{position:relative;margin:0;flex:1;min-width:65px}.duration-choices input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.duration-choices span{padding:10px 9px;border:1px solid var(--line);border-radius:4px;text-align:center;display:block}.duration-choices input:checked+span{background:var(--wine);color:white}.duration-choices input:focus-visible+span{outline:2px solid var(--wine);outline-offset:2px}.moderation-drawer .engine-form textarea{min-height:90px}.moderation-drawer .notice{font-size:14px}.moderation-drawer .action-row{justify-content:space-between}.moderation-drawer .action-row>.button{flex:1}
/* Administration uses the same palette, with a full working canvas. */
.admin-page{background:#f2efeb}.admin-page .site-main{max-width:var(--layout-max);padding:0 32px 40px}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;margin:28px 0;min-height:calc(100vh - 200px)}.admin-sidebar{padding:24px 16px;background:var(--header);color:#f8eee7;border:0;border-radius:6px;align-self:start;position:sticky;top:20px}.admin-sidebar h3{font:600 22px Georgia,serif;padding:0 12px;margin:0 0 25px}.admin-sidebar a{font:15px/1.4 Arial,sans-serif;padding:13px 14px;margin-bottom:6px}.admin-sidebar a:hover{background:#ffffff12}.admin-sidebar a.active{background:var(--wine)}.admin-workspace{font:16px/1.55 Arial,sans-serif;min-width:0}.admin-workspace>h1{font:600 38px Georgia,serif;margin:8px 0 16px}.admin-workspace h2{font:600 26px Georgia,serif}.admin-workspace p{font-size:15px}.admin-workspace .stat-grid{margin:24px 0}.stat-card{padding:24px;border-radius:6px;background:#faf8f4}.stat-card strong{font:40px Georgia,serif;margin-bottom:8px}.stat-card span{font-size:15px}.admin-workspace .panel{margin:20px 0}.admin-workspace .engine-form{max-width:none}.engine-form label{font-size:15px}.engine-table{font-size:15px}.engine-table td,.engine-table th{padding:16px}.engine-table .button{font-size:14px}.admin-toolbar input{min-width:180px;flex:1}.admin-dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.admin-dashboard-grid .panel{margin:0}.admin-recent{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-recent:last-child{border:0}.admin-recent small{display:block;color:var(--muted);font-size:13px}.group-guide{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0}.settings-group{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:24px;margin:20px 0}.settings-group h2{margin-bottom:20px}.admin-workspace .engine-form>.action-row,.admin-workspace>.engine-form>button.primary{position:sticky;bottom:10px;box-shadow:0 4px 18px #321b2515}.admin-workspace .engine-form>.action-row{background:var(--white);border:1px solid var(--line);padding:8px 16px;border-radius:5px}.admin-user-card{display:flex;gap:20px;align-items:center;margin:20px 0}.admin-user-card img{width:90px;height:90px;border-radius:50%}.admin-user-card h2{margin:0 0 10px}
@media(max-width:1200px){.header-inner{gap:16px}.brand{font-size:30px}.main-nav{gap:18px;padding-left:18px}.header-search{max-width:400px}.home-columns{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}.catalog-toolbar{flex-wrap:wrap}.catalog-toolbar form{flex-wrap:wrap}.dossier-layout{grid-template-columns:150px minmax(0,1fr) 280px;gap:18px}.profile-identity{gap:18px}.member-avatar{width:140px;height:140px;margin-top:-60px}.profile-identity-actions{max-width:260px}.profile-content{grid-template-columns:minmax(0,1fr) 260px;padding:20px}.profile-content .character-grid{gap:10px}.profile-content .character-tile h3{font-size:16px}.admin-shell{grid-template-columns:210px minmax(0,1fr);gap:24px}.admin-dashboard-grid{grid-template-columns:1fr}.universe-directory>article{grid-template-columns:46% 1fr}}
@media(max-width:950px){.header-inner{padding:12px 20px;flex-wrap:wrap}.main-nav{order:0;width:auto;min-height:38px;border:0;padding:0}.header-search{order:3;max-width:none;flex-basis:100%}.home-columns{grid-template-columns:1fr}.editorial-column{border:0;padding:20px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.editorial-column>h2{grid-column:1/-1}.editorial-column .article-card.compact{display:block}.editorial-column .article-cover{height:auto;aspect-ratio:1.8;margin-bottom:12px}.editorial-column .ad-slot{grid-column:1/-1}.new-dossiers>div:last-child{grid-template-columns:repeat(2,1fr)}.browse-layout{grid-template-columns:185px minmax(0,1fr);gap:20px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-story .article-card{grid-template-columns:1fr}.featured-story .article-cover{aspect-ratio:2.8}.dossier-layout{grid-template-columns:minmax(0,1fr) 260px}.contents-nav{grid-column:1/-1;display:flex;gap:12px;overflow:auto;border:0;border-bottom:1px solid var(--line)}.contents-nav h3{display:none}.contents-nav a{white-space:nowrap}.profile-identity{flex-wrap:wrap}.profile-identity-actions{max-width:none;margin-left:158px}.profile-content{grid-template-columns:1fr 230px;gap:18px}.profile-content .character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-cover{aspect-ratio:4}.universe-directory{grid-template-columns:1fr}.directory-heading{display:block}.directory-heading form{max-width:none;margin-top:20px}.article-layout{grid-template-columns:1fr}.article-sidebar{border:0;padding:0}.admin-shell{grid-template-columns:180px minmax(0,1fr);gap:18px}.admin-sidebar{padding:20px 10px}.admin-workspace .stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-main{padding:0 16px 24px}.header-inner{padding:12px 16px;gap:16px}.brand{font-size:27px}.brand>.icon{width:27px;height:29px}.header-icon{margin-left:auto}.header-icon+.header-icon{margin-left:0}.main-nav{display:none;order:4;width:100%}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:0}.admin-link{display:none}.header-search{display:none}.main-nav.open~.header-search{display:flex}.breadcrumbs{padding:16px 0;font-size:13px}.first-heading h1{font-size:28px}.universe-banners{grid-template-columns:1fr;gap:12px}.universe-banner{aspect-ratio:3}.universe-banner h2{font-size:27px}.universe-banner>div{left:18px;bottom:14px}.universe-banner p{margin-top:8px}.tabs{margin:12px 0 18px}.tabs a{padding:10px 14px;font-size:14px}.section-heading h2,.editorial-column>h2{font-size:27px}.catalog-toolbar form{flex-basis:100%;flex-wrap:wrap}.catalog-toolbar .search-input{flex-basis:100%}.catalog-toolbar select{flex:1;max-width:none!important}.character-table{min-width:570px}.character-table td{height:49px}.table-scroll{border-radius:3px}.editorial-column{display:block}.editorial-column .article-card.compact{display:grid;grid-template-columns:40% 1fr;gap:12px}.editorial-column .article-card h3{font-size:20px}.editorial-column .article-card p{font-size:14px}.editorial-column .article-cover{height:100%;min-height:125px}.new-dossiers>div:last-child{grid-template-columns:1fr}.dossier-small{border-right:0;border-bottom:1px solid var(--line);padding-bottom:12px}.dossier-small .portrait{width:110px}.browse-layout{display:block}.filters{border:0;padding:0;margin-bottom:22px}.filters h3{font-size:24px}.filters details{padding:10px 0}.filters details:not([open]){margin:0}.filter-option{display:inline-flex;margin-right:14px;font-size:14px}.filters .filter-choice{display:inline-block;width:auto;margin:3px;padding:8px 12px;font-size:15px}.page-heading h1,.directory-heading h1{font-size:36px}.page-heading p,.directory-heading p{font-size:17px}.article-grid{grid-template-columns:1fr}.featured-story h3{font-size:26px}.article-title{font-size:36px}.universe-directory>article{grid-template-columns:1fr}.universe-directory-image{min-height:0;aspect-ratio:2.3}.universe-directory article>div{padding:20px}.universe-directory p{font-size:16px;margin:10px 0 20px}.dossier-layout{display:flex;flex-direction:column}.dossier-info{border:0;padding:0;order:1}.dossier-body{order:2}.contents-nav{order:0}.dossier-info>.portrait-large{max-width:360px;aspect-ratio:1.2}.detail-title h1{font-size:36px}.dossier-body #relations .character-grid{grid-template-columns:repeat(2,1fr)}.search-articles{grid-template-columns:1fr}.universe-hero{aspect-ratio:1.6}.universe-hero>div{left:20px;bottom:20px;right:20px}.universe-hero h1{font-size:35px}.universe-hero p{font-size:14px}.profile-cover{aspect-ratio:2.8}.cover-edit{top:10px;right:10px;font-size:12px;padding:7px 9px}.profile-identity{padding:12px 16px 18px;gap:12px;min-height:0}.member-avatar{width:96px;height:96px;margin-top:-48px;border-width:4px}.member-name h1{font-size:29px}.member-identity-copy{flex-basis:calc(100% - 110px)}.member-handle{font-size:12px}.member-bio{font-size:14px;line-height:1.5}.profile-identity-actions{margin-left:0;width:100%;gap:8px}.profile-identity-actions .primary{flex:1}.profile-identity-actions .button{font-size:13px;padding:10px 12px}.profile-counts{gap:12px;font-size:13px}.profile-counts>span{font-size:13px;gap:5px}.profile-counts .icon{width:16px;height:16px}.role-badge,.vip-badge{font-size:12px}.profile-tabs{padding:0 12px;gap:10px;justify-content:space-between}.profile-tabs a{padding:12px 8px;font-size:14px}.profile-content{display:block;padding:16px}.profile-collection .section-heading h2{font-size:24px}.profile-collection .text-link{font-size:12px}.profile-content .character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-content .portrait-large{aspect-ratio:1.15}.profile-content .article-grid{grid-template-columns:1fr}.profile-content .article-card{display:grid;grid-template-columns:36% 1fr}.profile-content .article-card .article-cover{height:100%;aspect-ratio:auto}.profile-content .article-card h3{font-size:17px}.profile-sidebar{margin-top:22px}.profile-empty{padding:18px;font-size:14px}.profile-sidebar .favorite-worlds{display:block}.profile-vip-panel{display:flex!important}.account-card{margin:16px 0}.site-footer{padding:22px 16px;margin:0;gap:16px}.site-footer nav{gap:16px}.site-footer .brand{font-size:25px}.admin-page .site-main{padding:0 16px 24px}.admin-shell{display:block;margin:16px 0}.admin-sidebar{position:static;display:flex;flex-wrap:wrap;gap:4px;padding:14px;margin-bottom:22px}.admin-sidebar h3{width:100%;padding:4px 8px;margin:0 0 8px}.admin-sidebar a{font-size:13px;padding:9px;margin:0}.admin-workspace>h1{font-size:31px}.admin-toolbar{align-items:stretch}.admin-toolbar input,.admin-toolbar select{max-width:100%;width:100%}.admin-workspace .engine-table{min-width:600px}.admin-dashboard-grid{display:block}.admin-dashboard-grid .panel{margin-bottom:16px}.stat-card{padding:18px}.stat-card strong{font-size:32px}.stat-card span{font-size:13px}.settings-group{padding:18px}.form-grid{grid-template-columns:1fr}.moderation-drawer{padding:20px}.drawer-heading h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.member-identity-copy{display:block}.profile-sidebar{display:block}.moderation-drawer:not([open]){display:none}
.game-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.game-card{padding:24px;background:var(--header);color:#fff5e7;min-height:120px;border-radius:5px}.game-card .eyebrow{color:#dbc3cb;font-size:11px}.game-card h3{font-size:22px}.universe-intro>h2{margin-bottom:18px}.search-group .search-articles{grid-template-columns:1fr}.search-group .article-card.compact{grid-template-columns:210px 1fr}.search-character .portrait{width:150px;aspect-ratio:1.8}.search-group:first-child{margin-top:0}@media(max-width:700px){.game-list{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card{padding:16px}.game-card h3{font-size:18px}.search-group .article-card.compact{grid-template-columns:35% 1fr}.search-character .portrait{width:80px;aspect-ratio:1}}
.character-tile{position:relative}.character-tile>a{display:block}.tile-world{display:block;font-size:14px;color:var(--muted);margin-top:4px}.profile-content .tile-world{margin:0 10px}.card-bookmark{position:absolute;top:9px;right:9px}.card-bookmark .button{font-size:0;padding:7px;width:33px;height:35px;min-width:0;background:#211621a6;color:white;border-color:#ffffff70}.card-bookmark .button .icon{display:block;width:19px;height:22px}.card-bookmark .button.selected .icon{fill:currentColor}.card-bookmark .button.selected{background:var(--wine)}.member-name>.vip-badge{align-self:center;margin-bottom:6px}.member-name h1{overflow-wrap:anywhere}.profile-counts{flex-wrap:wrap}@media(max-width:700px){.profile-identity{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 12px}.member-avatar{grid-column:1;grid-row:1/4}.member-identity-copy{display:contents}.member-name{grid-column:2;padding-top:0;gap:8px;flex-wrap:wrap}.member-name h1{font-size:28px}.member-identity-copy>.role-badge{grid-column:2;justify-self:start}.member-handle{grid-column:2;font-size:11px;margin-top:6px}.member-bio{grid-column:1/-1;text-align:center;margin:15px 0}.profile-counts{grid-column:1/-1;grid-row:6;justify-content:space-between;margin-top:18px;gap:7px}.profile-identity-actions{grid-column:1/-1;grid-row:5;margin:0}.member-name>.vip-badge{margin:0}.profile-content .character-tile h3{margin:9px 10px 3px}}
.article-layout{grid-template-columns:minmax(0,1.85fr) minmax(320px,1fr)}.article-person{display:grid;grid-template-columns:40% 1fr;gap:18px;border:1px solid var(--line);border-radius:4px;overflow:hidden;padding:0;margin:12px 0 24px}.article-person>.portrait{width:100%;height:100%;aspect-ratio:auto;min-height:210px}.article-person>div{padding:15px 15px 15px 0}.article-person h3{font-size:25px}.article-person dl{display:grid;grid-template-columns:auto 1fr;font-size:14px;margin:12px 0;border-top:1px solid var(--line)}.article-person dt,.article-person dd{margin:0;padding:7px 3px;border-bottom:1px solid var(--line)}.article-person .button{font-size:14px;white-space:normal}.article-person p{font-size:14px;margin-top:6px}.article-sidebar>section>h2{font-size:31px;margin-bottom:15px}.read-also .article-card.compact{grid-template-columns:42% 1fr;gap:14px}.read-also .article-card h3{font-size:20px}.read-also .article-cover{height:100%;min-height:110px}.read-also .eyebrow{display:none}.article-actions{border-top:1px solid var(--line);padding-top:14px;flex-wrap:wrap}.article-layout>.article-sidebar .toc a{font-size:17px;padding:12px 0;border-bottom:1px solid var(--line)}@media(max-width:950px){.article-layout{grid-template-columns:1fr}.article-person{max-width:520px}.article-sidebar .read-also{display:grid;grid-template-columns:1fr 1fr;gap:20px}.read-also>h2{grid-column:1/-1}}@media(max-width:700px){.article-sidebar .read-also{display:block}.article-person h3{font-size:22px}}
/* 2.1.1: contain replaced elements inside grid tracks; avoid intrinsic ratio overflow. */
.article-card,.article-card-copy,.article-cover,.article-card>a,.article-card>div{min-width:0;max-width:100%}
.article-card.compact .article-cover{width:100%;height:auto;aspect-ratio:1.55;align-self:start;min-height:0;position:relative}
.article-card.compact .article-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-column .article-card.compact{grid-template-columns:minmax(0,43fr) minmax(0,57fr)}
.editorial-column .article-card-copy{min-width:0;overflow-wrap:anywhere}
.article-card.compact .article-cover{min-height:0!important}
.featured-story .article-cover{min-width:0;width:100%;position:relative;min-height:220px}
.featured-story .article-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Keep the mockup canvas centered; extra screen width becomes outer margins. */
.site-main,.header-inner,.site-footer{width:100%;max-width:var(--layout-max);margin-left:auto;margin-right:auto;padding-left:var(--layout-gutter);padding-right:var(--layout-gutter)}
.home-columns{grid-template-columns:minmax(0,1.88fr) minmax(0,1fr)}
.site-main .article-card img{max-width:100%}
@media(max-width:950px){:root{--layout-gutter:20px}.home-columns{grid-template-columns:1fr}.site-main,.header-inner,.site-footer{padding-left:20px;padding-right:20px}.featured-story .article-cover{min-height:0;aspect-ratio:2.8}.editorial-column .article-card.compact{display:block}.editorial-column .article-card.compact .article-cover{aspect-ratio:1.8;margin-bottom:12px}}
@media(max-width:700px){:root{--layout-gutter:16px}.site-main,.header-inner,.site-footer{padding-left:16px;padding-right:16px}.editorial-column .article-card.compact{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr)}.editorial-column .article-card.compact .article-cover{aspect-ratio:1.4;margin:0}}

/* Geometry measured from the approved desktop mockup (1536 × 1024).
   These are CSS pixel dimensions, not viewport-scaled typography. */
@media(min-width:951px){
 .public-page:not(.profile-page) .site-header,
 .public-page:not(.profile-page) .header-inner{min-height:56px}
 .public-page:not(.profile-page) .header-inner{padding-top:0;padding-bottom:0;flex-wrap:nowrap;gap:26px}
 .public-page:not(.profile-page) .main-nav{order:0;width:auto;flex:0 0 auto;min-height:0;gap:30px;padding-left:28px;border-left:1px solid #604750}
 .public-page:not(.profile-page) .header-search{height:35px;min-width:0;flex:1 1 280px;max-width:462px;margin:0;order:0}
 .public-page:not(.profile-page) .header-search input{font:15px Georgia,serif;min-width:0}
 .public-page:not(.profile-page) .first-heading{padding-top:12px;margin-bottom:6px}
 .public-page:not(.profile-page) .first-heading h1{font-size:34px;line-height:1.25;margin:0}
 .public-page:not(.profile-page) .universe-banners{gap:9px}
 .public-page:not(.profile-page) .universe-banner{aspect-ratio:2.72;border-radius:5px}
 .public-page:not(.profile-page) .tabs{margin:18px 0 14px}
 .public-page:not(.profile-page) .tabs a{font-size:15px;padding:8px 14px}
 .public-page:not(.profile-page) .tabs a+a{margin-left:12px;padding-left:28px}
 .home-columns{grid-template-columns:minmax(0,1.78fr) minmax(0,1fr);gap:26px}
 .editorial-column{padding-left:26px}
 .home-columns .section-heading{margin:0 0 10px}
 .home-columns .section-heading h2,.editorial-column>h2{font-size:36px;line-height:1.15;letter-spacing:-.035em;margin:0 0 10px}
 .home-catalog .section-heading h2{margin:0}
 .editorial-column .article-card.compact{grid-template-columns:minmax(0,46fr) minmax(0,50fr);gap:16px;margin-bottom:12px;padding-bottom:0;border:0}
 .editorial-column .article-card.compact .article-cover{aspect-ratio:1.67}
 .editorial-column .article-card-copy{padding:0}
 .editorial-column .article-card h3{font-size:22px;line-height:1.12;margin:4px 0 8px}
 .editorial-column .article-card p{font-size:15px;line-height:1.32;margin:0}
 .editorial-column .article-card .eyebrow{font:600 10px Georgia,serif;letter-spacing:.08em;padding:4px 6px;margin:0}
 .editorial-column .article-card .text-link{font-size:16px;line-height:1;margin:0}
 .home-catalog .character-table{table-layout:fixed}
 .home-catalog .character-table th:first-child{width:32.5%}
 .home-catalog .character-table th:nth-child(2){width:28.5%}
 .home-catalog .character-table th:nth-child(3){width:19%}
 .home-catalog .character-table th{height:35px;padding:7px 17px;font-size:13px}
 .home-catalog .character-table td{height:43px;padding:2px 17px;font-size:14px;line-height:1.25;overflow-wrap:anywhere}
 .home-catalog .character-table .portrait{width:48px;height:38px}
 .home-catalog .character-table .character-name{gap:16px}
 .home-catalog .character-table .character-name strong{font-size:14px}
 .catalog-directory .character-table th{font-size:14px;height:39px}
 .catalog-directory .character-table td{height:52px;font-size:16px;padding:3px 14px}
 .catalog-directory .character-table .portrait{width:56px;height:46px}
 .catalog-directory .character-table .character-name strong{font-size:17px}
 .catalog-directory .character-table .text-link{white-space:nowrap}
 .catalog-directory .character-table .text-link>span{margin-left:18px}
 .new-dossiers{margin-top:12px;padding-top:10px}
 .new-dossiers .section-heading{margin-bottom:8px}
 .new-dossiers .section-heading h2{font-size:29px}
 .new-dossiers>div:last-child{gap:18px}
 .new-dossiers .dossier-small{gap:14px}
 .new-dossiers .dossier-small .portrait{width:46%;aspect-ratio:1.67}
 .new-dossiers .dossier-small h3{font-size:16px;margin-bottom:5px}
 .new-dossiers .dossier-small p,.new-dossiers .dossier-small small{font-size:12px}
}
.catalog-toolbar{display:flex;gap:20px;align-items:center;flex-wrap:nowrap;margin-bottom:14px}
.catalog-toolbar>form{display:flex;flex:1;gap:20px;min-width:0;flex-wrap:nowrap}
.catalog-toolbar .catalog-search-field{height:42px;min-height:0;flex:1;min-width:100px;padding:0;border-radius:4px;gap:0}
.catalog-toolbar .catalog-search-field input{font:16px Georgia,serif;height:100%;padding:8px 8px 8px 0;border:0;background:none;outline-offset:-3px}
.catalog-search-field .search-submit{display:grid;place-items:center;flex:none;width:42px;height:100%;padding:0;border:0;background:none;color:var(--ink);cursor:pointer}
.catalog-search-field .search-submit .icon{width:20px;height:20px}
.catalog-search-field .search-submit:focus-visible{outline:2px solid var(--wine);outline-offset:-3px}
.catalog-toolbar .view-toggle a{font:16px Georgia,serif;padding:11px 24px}
.catalog-toolbar .catalog-sort{height:42px;width:196px;max-width:196px;padding:8px 12px;font:16px Georgia,serif}
.home-catalog .catalog-toolbar{gap:24px;flex-wrap:nowrap}
.home-catalog .catalog-toolbar>form{flex-basis:auto;gap:20px}
.home-catalog .catalog-toolbar .catalog-search-field{height:34px}
.home-catalog .catalog-toolbar .catalog-search-field input{font-size:14px}
.home-catalog .catalog-toolbar select{height:34px;max-width:126px;width:126px;min-width:0;padding:5px 10px;font:14px Georgia,serif}
.home-catalog .catalog-toolbar select[name="role"]{max-width:88px;width:88px}
.home-catalog .catalog-toolbar .view-toggle a{font-size:14px;padding:8px 20px}
.catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 10px}
.catalog-footer>.text-link{font-size:15px}
.catalog-footer>.text-link>span{margin-left:10px}
.catalog-footer .pagination{margin:0;gap:12px}
.catalog-footer .pagination-summary{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.catalog-footer .page-size{font:16px Georgia,serif}
.catalog-footer .page-size label{display:flex;align-items:center;gap:16px}
.catalog-footer .page-size select{font:16px Georgia,serif;width:82px;padding:8px 12px}
.filters .filter-search{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;width:100%;height:36px;min-height:36px;padding:0 10px;margin:0 0 10px;gap:8px}
.filters .filter-search input{display:block;flex:1 1 0%;height:100%;padding:0;font:15px Georgia,serif;border:0;background:none;width:0;min-width:0}
.filters .filter-search .icon{flex:0 0 18px;width:18px;height:18px}
.filter-option[hidden]{display:none}
.sort-indicator{font-size:12px;color:var(--muted);margin-left:4px}
@media(min-width:951px) and (max-width:1250px){
 .public-page:not(.profile-page) .header-inner{gap:16px}
 .public-page:not(.profile-page) .main-nav{gap:18px;padding-left:18px}
 .public-page:not(.profile-page) .brand{font-size:30px}
 .catalog-toolbar{gap:12px;flex-wrap:wrap}
 .catalog-toolbar .catalog-sort{width:170px;max-width:170px}
 .home-catalog .catalog-toolbar{gap:12px;flex-wrap:wrap}
 .home-catalog .catalog-toolbar>form{gap:10px}
 .home-columns .section-heading h2,.editorial-column>h2{font-size:29px}
}
@media(max-width:950px){
 .catalog-toolbar{flex-wrap:wrap;gap:12px}
 .catalog-toolbar>form{flex-basis:100%}
 .home-catalog .catalog-toolbar{flex-wrap:wrap;gap:12px}
 .home-catalog .catalog-toolbar>form{flex-basis:100%;gap:12px}
 .home-catalog .catalog-toolbar .catalog-search-field{height:38px}
 .home-catalog .catalog-toolbar select{height:38px}
 .catalog-toolbar .catalog-sort{margin-left:auto;max-width:190px}
}
@media(max-width:700px){
 .home-catalog .catalog-toolbar>form{flex-wrap:wrap}
 .home-catalog .catalog-toolbar .catalog-search-field{flex-basis:100%}
 .home-catalog .catalog-toolbar select,.home-catalog .catalog-toolbar select[name="role"]{flex:1;width:auto;max-width:none!important}
 .catalog-toolbar .view-toggle a{font-size:14px;padding:10px 12px}
 .catalog-toolbar .catalog-sort{width:160px;max-width:160px;font-size:14px}
 .catalog-footer{flex-wrap:wrap}
 .catalog-footer .page-size,.catalog-footer .page-size select{font-size:14px}
}

/* Reference artwork is clipped in its native coordinate system, without zooming the page. */
.reference-art{display:block;width:100%;height:100%;overflow:hidden}
.portrait>.reference-art,.article-cover>.reference-art{position:absolute;inset:0}
/* Banner artwork contains no interface text; every label is a native link. */
.universe-banners>.world-banner-card{display:grid;align-items:end;width:100%;min-width:0;min-height:180px;box-sizing:border-box;isolation:isolate}
.universe-banners>.world-banner-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;z-index:0}
.universe-banners>.world-banner-card:after{z-index:0;background:linear-gradient(0deg,#151019ed 0%,#151019a8 38%,#15101915 85%)}
.universe-banners>.world-banner-card>.world-banner-copy{position:relative;left:auto;right:auto;bottom:auto;z-index:1;min-width:0;padding:52px 18px 16px}
.world-banner-copy h2{margin:0;color:#fff;font:600 clamp(24px,2.3vw,30px)/1.1 Georgia,serif;text-shadow:0 2px 8px #0008}
.world-banner-copy h2>a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#fff;overflow-wrap:anywhere}
.world-banner-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.world-banner-links>a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:36px;padding:7px 10px;box-sizing:border-box;border:1px solid #ffffff66;border-radius:6px;background:#211b23d9;color:#fff;font:13px/1.35 Arial,sans-serif;text-decoration:none;white-space:nowrap}
.world-banner-links .icon{width:14px;height:14px;flex:none}
.world-banner-links>a:hover{border-color:#fff;background:#46303e;color:#fff}
.world-banner-copy h2>a:hover{text-decoration:underline;text-underline-offset:4px}
.world-banner-card a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.world-banner-card>a.registry-count--banner{position:absolute;top:10px;right:10px;z-index:2;max-width:calc(100% - 20px);margin:0}
@media(max-width:700px){.world-banner-links>a{min-height:42px}.universe-banners>.world-banner-card>.world-banner-copy{padding-left:16px;padding-right:16px}.world-banner-copy h2{font-size:27px}}
@media(max-width:640px){.universe-banners>.world-banner-card{flex:0 0 86%;width:86%;scroll-snap-align:start}}

.brand-mark{display:block;width:35px;height:43px;flex:none}
@media(min-width:951px){.public-page:not(.profile-page) .brand{gap:28px}.public-page:not(.profile-page) .header-inner{gap:22px}}
@media(max-width:950px){.brand-mark{width:28px;height:35px}}

/* Keep recent dossier images legible before switching to fewer columns. */
.new-dossiers .dossier-small .portrait{width:clamp(144px,52%,180px);height:auto;aspect-ratio:3/2;flex:none}
.new-dossiers .dossier-small .portrait>img{width:100%;height:100%;object-fit:cover}
.new-dossiers .dossier-small>div{min-width:0;overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:1279px){
 .new-dossiers>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .new-dossiers .dossier-small:nth-child(2n){border-right:0;padding-right:0}
}
@media(max-width:700px){.new-dossiers .dossier-small{padding-right:0}}
