/* Non-conversation layouts. Data, form validation and permissions stay in the
   original page scripts. Every selector is scoped to an active skin/page. */
html[data-skin] body.skin-page { --page-rail-width:0px; }
html[data-skin] .skin-page .page-content { min-width:0; overflow-wrap:anywhere; }
html[data-skin] .skin-page .page-content :is(input,textarea,select) { min-width:0; max-width:100%; }
html[data-skin] .skin-page :is(.btn,.seg-tab,.market-sort-button,.market-tag-chip,.publish-step,.page-directory-button) { min-height:44px; }
html[data-skin] .skin-page :is(.tile-header,.market-hero-row,.market-page-heading,.profile-identity,.entry-card) { min-width:0; }
html[data-skin] .skin-page :is(h1,h2,h3,.tile-title,.listing-card-title,.info-value,.profile-username) { overflow-wrap:anywhere; }
html[data-skin] .skin-page .profile-section h2 { line-height:1.55; }
html[data-skin] .skin-page .admin-table-wrap { max-width:100%; overflow:auto; overscroll-behavior:contain; }
html[data-skin] .skin-page :is(.admin-table,.info-row) .btn { white-space:normal; }
html[data-skin] .skin-page .info-row { gap:12px; }
html[data-skin] .skin-page :is(.market-hero,.profile-hero,.auth-card,.tile,.profile-section,.publish-panel) { background:var(--bg-card); }
html[data-skin] .skin-page .market-hero::after { display:none; }
html[data-skin] .skin-page .expand-message.user { background:var(--accent); color:var(--on-accent); }
html[data-skin] .skin-page :is(.market-purchase-dock,.publish-actions) { left:var(--page-rail-width); }
html[data-skin] .skin-page .page-directory { display:none; }
html[data-skin] .skin-page .page-directory h2 { font-size:1rem; margin-bottom:12px; }
html[data-skin] .skin-page .page-directory-button { display:block; width:100%; text-align:left; padding:10px 12px; color:var(--text-secondary); background:transparent; border-bottom:1px solid var(--border-light); font:inherit; }
html[data-skin] .skin-page .page-directory-button:hover { color:var(--accent); background:var(--accent-soft); }
html[data-skin] .skin-page .page-toolbar { display:flex; gap:8px; flex-wrap:wrap; }
html[data-skin] .skin-page .page-nav-toggle { white-space:nowrap; }
html[data-skin] .skin-page .page-settings-group { margin-bottom:28px; }
html[data-skin] .skin-page .page-settings-heading { display:flex; align-items:center; gap:12px; font-size:1rem; color:var(--text-secondary); margin:24px 0 12px; }
html[data-skin] .skin-page .page-settings-heading::after { content:''; height:1px; flex:1; background:var(--border); }
html[data-skin] .skin-page .page-settings-cards { display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
html[data-skin] .skin-page .page-settings-cards>.profile-section { margin:0; }
html[data-skin] .skin-page .page-settings-cards>.profile-section:last-child:nth-child(odd) { grid-column:1/-1; }
html[data-skin] .skin-page .page-command-dialog { width:min(620px,calc(100vw - 28px)); max-height:calc(100dvh - 48px); margin:auto; padding:22px; border:1px solid var(--border); border-radius:12px; background:var(--bg-card); color:var(--text-primary); }
html[data-skin] .skin-page .page-command-dialog::backdrop { background:var(--overlay); }
html[data-skin] .skin-page .page-command-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
html[data-skin] .skin-page .page-command-header h2 { font-size:1.15rem; }
html[data-skin] .skin-page .page-command-search { margin-bottom:12px; }
html[data-skin] .skin-page .page-command-list { max-height:50dvh; overflow:auto; display:grid; gap:6px; }
html[data-skin] .skin-page .page-command-item { display:block; width:100%; text-align:left; padding:12px; min-height:48px; border:1px solid var(--border-light); background:var(--bg-input); color:var(--text-primary); border-radius:6px; }
html[data-skin] .skin-page .page-command-empty { padding:20px 0; color:var(--text-secondary); }
html[data-skin] .skin-page .page-command-help { margin-top:14px; color:var(--text-secondary); font-size:.85rem; }

/* Clear: a stable form hierarchy alongside the existing workspace rail. */
html[data-skin="clear"] .skin-page .market-toolbar { padding:14px 0; border-bottom:1px solid var(--border); }
html[data-skin="clear"] .skin-page .publish-panel { border-radius:12px; box-shadow:none; }
html[data-skin="clear"] .skin-page :is(.tile,.auth-card,.listing-card,.profile-section) { box-shadow:none; border-color:var(--border); }
html[data-skin="clear"] .skin-page .market-eyebrow::before { box-shadow:none; }

/* Paper: actual section contents form the directory; the catalogue reads as a
   continuous shelf instead of a recoloured tile grid. */
html[data-skin="paper"] .skin-page { font-family:Georgia,'Noto Serif SC','SimSun',serif; }
html[data-skin="paper"] .skin-page :is(input,textarea,select,.btn,.navbar,.seg-tabs,.publish-stepper,.page-directory) { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif; }
html[data-skin="paper"] .skin-page .navbar { height:auto; min-height:76px; background:var(--bg); border-bottom:1px solid var(--border); backdrop-filter:none; box-shadow:none; }
html[data-skin="paper"] .skin-page .page-content:not(.auth-card):not(.expand-shell) { max-width:1000px; padding:40px 48px 100px; background:var(--bg-card); border-top:3px solid var(--border); margin-top:26px; }
html[data-skin="paper"] .skin-page .market-hero { padding:0 0 28px; border:0; border-bottom:1px solid var(--border); border-radius:0; box-shadow:none; }
html[data-skin="paper"] .skin-page .market-hero h1 { font-family:Georgia,'Noto Serif SC','SimSun',serif; font-size:clamp(1.6rem,3vw,2.7rem); font-weight:500; line-height:1.5; }
html[data-skin="paper"] .skin-page :is(.market-grid,.tile-grid) { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
html[data-skin="paper"] .skin-page .listing-card { padding:28px 0; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; box-shadow:none; }
html[data-skin="paper"] .skin-page .listing-card-link { display:grid; grid-template-columns:minmax(130px,180px) minmax(0,1fr); gap:28px; }
html[data-skin="paper"] .skin-page .listing-cover { height:auto; aspect-ratio:3/4; border-radius:0; }
html[data-skin="paper"] .skin-page .listing-card-body { padding:14px 0; }
html[data-skin="paper"] .skin-page .listing-card-title { font-size:1.4rem; font-weight:500; }
html[data-skin="paper"] .skin-page .listing-card-summary { line-height:1.9; }
html[data-skin="paper"] .skin-page .room-tile { padding:26px 0; border:0; border-bottom:1px solid var(--border); border-radius:0; box-shadow:none; }
html[data-skin="paper"] .skin-page .room-tile::before { display:none; }
html[data-skin="paper"] .skin-page .page-settings-cards { grid-template-columns:1fr; }
html[data-skin="paper"] .skin-page .profile-section { border:0; border-bottom:1px solid var(--border); border-radius:0; padding:24px 0; box-shadow:none; }
html[data-skin="paper"] .skin-page .publish-stepper { gap:0; border-block:1px solid var(--border); border-radius:0; }
html[data-skin="paper"] .skin-page .publish-panel { border:0; border-radius:0; box-shadow:none; padding-inline:0; }
html[data-skin="paper"] .skin-page .auth-card { border-top:4px solid var(--accent); border-radius:0; max-width:520px; }
html[data-skin="paper"] .skin-page .expand-shell { border-inline:1px solid var(--border); }
html[data-skin="paper"] .skin-page .expand-message { line-height:1.9; border-radius:0; border-bottom:1px solid var(--border); }

/* Theatre: reduce the navigation on demand and let the real page heading act
   as a scene header. No invented scene, participants or progress is shown. */
html[data-skin="theatre"] .skin-page .navbar { background:var(--bg-tertiary); box-shadow:none; backdrop-filter:none; }
html[data-skin="theatre"] .skin-page.page-nav-collapsed .navbar-center { display:none; }
html[data-skin="theatre"] .skin-page .page-content:not(.auth-card):not(.expand-shell) { max-width:1280px; padding-top:38px; }
html[data-skin="theatre"] .skin-page .market-hero { min-height:240px; padding:36px; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(ellipse at right top,var(--accent-soft),transparent 70%),var(--bg-tertiary); border-radius:16px; border-color:var(--border); }
html[data-skin="theatre"] .skin-page .market-hero h1 { max-width:780px; font-size:clamp(1.7rem,4vw,3rem); }
html[data-skin="theatre"] .skin-page :is(.tile-grid,.market-grid) { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
html[data-skin="theatre"] .skin-page .listing-card { border-radius:8px; box-shadow:none; border-color:var(--border); }
html[data-skin="theatre"] .skin-page .listing-cover { aspect-ratio:16/10; }
html[data-skin="theatre"] .skin-page .market-detail { grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr); }
html[data-skin="theatre"] .skin-page .market-detail-content { background:var(--bg-tertiary); }
html[data-skin="theatre"] .skin-page .profile-hero { border-left:4px solid var(--accent); border-radius:8px; }
html[data-skin="theatre"] .skin-page .publish-stepper { background:var(--bg-tertiary); }
html[data-skin="theatre"] .skin-page .auth-card { border-radius:12px; border-top:4px solid var(--accent); }
html[data-skin="theatre"] .skin-page .expand-header { background:var(--bg-tertiary); }

/* Social: discovery, owned/purchased/visited rooms and conversations use the
   current business lists, with the filter rail separate from the card feed. */
html[data-skin="social"] .skin-page .page-content:not(.auth-card):not(.expand-shell) { max-width:1240px; }
html[data-skin="social"] .skin-page .market-hero { padding:24px; border-radius:18px; border-left:5px solid var(--accent); box-shadow:none; }
html[data-skin="social"] .skin-page .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
html[data-skin="social"] .skin-page .listing-card { border-radius:14px; }
html[data-skin="social"] .skin-page .listing-card-link { display:grid; grid-template-columns:140px minmax(0,1fr); }
html[data-skin="social"] .skin-page .listing-cover { height:100%; min-height:180px; aspect-ratio:auto; border-radius:0; }
html[data-skin="social"] .skin-page .listing-card-body { padding:18px; }
html[data-skin="social"] .skin-page .room-tile { border-left:4px solid var(--accent); border-radius:12px; }
html[data-skin="social"] .skin-page .person-row { padding:18px 14px; border:1px solid var(--border); border-radius:12px; margin-bottom:10px; background:var(--bg-card); }
html[data-skin="social"] .skin-page .entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
html[data-skin="social"] .skin-page .profile-hero { border-radius:18px; padding:28px; }
html[data-skin="social"] .skin-page .publish-stepper { border-radius:14px; background:var(--accent-soft); }

/* Editorial: asymmetry reflects the actual returned order, and tag controls
   stay tied to the real catalogue categories. No fabricated editorial picks. */
html[data-skin="editorial"] .skin-page .page-content:not(.auth-card):not(.expand-shell) { max-width:1400px; padding-top:44px; }
html[data-skin="editorial"] .skin-page .market-hero { border:0; border-bottom:2px solid var(--text-primary); border-radius:0; box-shadow:none; padding:16px 0 32px; }
html[data-skin="editorial"] .skin-page .market-hero h1 { max-width:900px; font:500 clamp(2rem,5vw,3.6rem)/1.2 Georgia,'Noto Serif SC','SimSun',serif; }
html[data-skin="editorial"] .skin-page .market-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; align-items:start; }
html[data-skin="editorial"] .skin-page .listing-card { border:0; border-radius:0; background:transparent; box-shadow:none; }
html[data-skin="editorial"] .skin-page .listing-card:first-child { grid-column:span 2; }
html[data-skin="editorial"] .skin-page .listing-card:first-child .listing-card-link { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:20px; }
html[data-skin="editorial"] .skin-page .listing-card:first-child .listing-cover { height:auto; aspect-ratio:4/3; }
html[data-skin="editorial"] .skin-page .listing-card-body { padding:18px 0; }
html[data-skin="editorial"] .skin-page .listing-card-title { font-family:Georgia,'Noto Serif SC','SimSun',serif; font-size:1.45rem; font-weight:500; }
html[data-skin="editorial"] .skin-page .listing-card:first-child .listing-card-title { font-size:1.8rem; }
html[data-skin="editorial"] .skin-page .tile-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
html[data-skin="editorial"] .skin-page .room-tile:first-child { grid-column:span 2; padding-block:30px; }
html[data-skin="editorial"] .skin-page .market-detail { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px; }
html[data-skin="editorial"] .skin-page .market-detail-content { border:0; border-radius:0; padding-inline:0; }
html[data-skin="editorial"] .skin-page .profile-hero { border-radius:0; border-block:2px solid var(--text-primary); box-shadow:none; }
html[data-skin="editorial"] .skin-page .profile-section { border:0; border-top:1px solid var(--border); border-radius:0; box-shadow:none; }
html[data-skin="editorial"] .skin-page .publish-panel { border-radius:0; box-shadow:none; border-top:3px solid var(--text-primary); }
html[data-skin="editorial"] .skin-page .expand-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }

/* Console: a readable catalogue/table, real navigation tools and full sized
   targets. Density comes from structure, never from shrinking text/hit areas. */
html[data-skin="console"] .skin-page .page-content:not(.auth-card):not(.expand-shell) { max-width:1500px; padding-top:24px; }
html[data-skin="console"] .skin-page .market-hero { padding:20px 24px; border-radius:4px; box-shadow:none; border-left:3px solid var(--accent); }
html[data-skin="console"] .skin-page .market-hero h1 { font-size:1.7rem; }
html[data-skin="console"] .skin-page :is(.market-grid,.tile-grid) { grid-template-columns:minmax(0,1fr); gap:8px; }
html[data-skin="console"] .skin-page .listing-card { border-radius:4px; box-shadow:none; }
html[data-skin="console"] .skin-page .listing-card-link { display:grid; grid-template-columns:130px minmax(0,1fr); }
html[data-skin="console"] .skin-page .listing-cover { height:auto; aspect-ratio:1/1; }
html[data-skin="console"] .skin-page .listing-card-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,.3fr); gap:6px 20px; padding:16px 20px; }
html[data-skin="console"] .skin-page .listing-card-body>:is(.listing-card-title,.listing-card-summary,.listing-card-author,.listing-card-tags) { grid-column:1; }
html[data-skin="console"] .skin-page .listing-card-body>.listing-card-footer { grid-column:2; grid-row:1/5; align-self:center; flex-wrap:wrap; }
html[data-skin="console"] .skin-page .room-tile { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.7fr); column-gap:24px; border-radius:4px; }
html[data-skin="console"] .skin-page .room-tile>.tile-footer { grid-column:2; grid-row:1/5; align-self:center; }
html[data-skin="console"] .skin-page :is(.profile-section,.publish-panel,.auth-card,.person-row) { border-radius:4px; box-shadow:none; }
html[data-skin="console"] .skin-page .seg-tabs { border-radius:4px; }
html[data-skin="console"] .skin-page .expand-message { border-radius:4px; line-height:1.8; }

@media(min-width:1100px) {
    html[data-skin="clear"] .skin-page.app-shell { --page-rail-width:176px; }
    html[data-skin="paper"] .skin-page.has-page-directory { --page-rail-width:224px; padding-left:224px; }
    html[data-skin="paper"] .skin-page .page-directory { display:block; position:fixed; left:20px; top:106px; bottom:24px; width:184px; overflow:auto; }
    html[data-skin="paper"] .skin-page .page-content:not(.auth-card):not(.expand-shell) { margin-inline:auto; }
    html[data-skin="console"] .skin-page.app-shell { --page-rail-width:216px; padding-left:216px; }
    html[data-skin="console"] .skin-page .navbar { position:fixed; inset:0 auto 0 0; width:216px; height:100dvh; padding:24px 16px; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:20px; background:var(--bg-tertiary); border-right:1px solid var(--border); backdrop-filter:none; overflow:auto; }
    html[data-skin="console"] .skin-page :is(.navbar-left,.navbar-center,.navbar-right) { flex-direction:column; align-items:stretch; width:100%; gap:8px; }
    html[data-skin="console"] .skin-page .navbar-right { margin-top:auto; }
    html[data-skin="console"] .skin-page .navbar-brand { font-size:1rem; }
    html[data-skin="console"] .skin-page .navbar .menu-toggle { display:none; }
    html[data-skin="console"] .skin-page .navbar .nav-link { min-height:44px; padding:12px; }
    html[data-skin="console"] .skin-page .navbar .navbar-username { padding:0; white-space:normal; }
    html[data-skin="social"] .skin-page:is([data-content-page="rooms"],[data-content-page="dms"],[data-content-page="friends"]) .page-content { display:grid; grid-template-columns:190px minmax(0,1fr); gap:20px 28px; align-content:start; }
    html[data-skin="social"] .skin-page:is([data-content-page="rooms"],[data-content-page="dms"],[data-content-page="friends"]) .page-content>:first-child { grid-column:1/-1; }
    html[data-skin="social"] .skin-page:is([data-content-page="rooms"],[data-content-page="dms"],[data-content-page="friends"]) .seg-tabs { grid-column:1; grid-row:2/20; display:flex; flex-direction:column; align-self:start; position:sticky; top:82px; padding:8px; white-space:normal; }
    html[data-skin="social"] .skin-page:is([data-content-page="rooms"],[data-content-page="dms"],[data-content-page="friends"]) .seg-tabs~:not(.hidden) { grid-column:2; }
}
@media(max-width:1099px) {
    html[data-skin] .skin-page .page-settings-cards { grid-template-columns:1fr; }
    html[data-skin="theatre"] .skin-page :is(.tile-grid,.market-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
    html[data-skin="social"] .skin-page .market-grid { grid-template-columns:1fr; }
    html[data-skin="editorial"] .skin-page :is(.tile-grid,.market-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
    html[data-skin="editorial"] .skin-page .listing-card:first-child { grid-column:1/-1; }
}
@media(max-width:768px) {
    html[data-skin] .skin-page { --page-rail-width:0px; padding-left:0; }
    html[data-skin] .skin-page .page-content:not(.auth-card):not(.expand-shell) { padding-inline:14px; margin-top:0; }
    html[data-skin] .skin-page .page-settings-cards { display:block; }
    html[data-skin] .skin-page .page-settings-cards>.profile-section { margin-bottom:14px; }
    html[data-skin] .skin-page :is(.profile-identity,.profile-stats) { min-width:0; }
    html[data-skin] .skin-page .info-row { align-items:flex-start; flex-wrap:wrap; }
    html[data-skin] .skin-page .info-value { max-width:100%; }
    html[data-skin] .skin-page .publish-actions-inner { flex-wrap:wrap; }
    html[data-skin] .skin-page :is(.publish-actions-left,.publish-actions-right) { flex-wrap:wrap; gap:8px; }
    html[data-skin] .skin-page .publish-actions-right { margin-left:auto; }
    html[data-skin] .skin-page .auth-card { width:calc(100% - 28px); max-width:520px; padding:28px 22px; }
    html[data-skin] .skin-page .expand-header { flex-wrap:wrap; }
    html[data-skin] .skin-page .expand-header h1 { min-width:80px; }
    html[data-skin] .skin-page .expand-composer { grid-template-columns:minmax(0,1fr) auto; }
    html[data-skin] .skin-page .expand-composer .draft-button { grid-column:1/-1; }
    html[data-skin] .skin-page .expand-main { grid-template-columns:1fr; }
    html[data-skin="paper"] .skin-page .listing-card { padding:20px 0; }
    html[data-skin="paper"] .skin-page .listing-card-link { grid-template-columns:100px minmax(0,1fr); gap:18px; }
    html[data-skin="paper"] .skin-page .listing-card-title { font-size:1.15rem; }
    html[data-skin="paper"] .skin-page .page-content:not(.auth-card):not(.expand-shell) { padding-top:24px; }
    html[data-skin="theatre"] .skin-page .market-hero { padding:24px 18px; min-height:190px; }
    html[data-skin="theatre"] .skin-page :is(.tile-grid,.market-grid) { grid-template-columns:1fr; }
    html[data-skin="theatre"] .skin-page .market-detail { display:block; }
    html[data-skin="social"] .skin-page .listing-card-link { grid-template-columns:104px minmax(0,1fr); }
    html[data-skin="social"] .skin-page .listing-cover { min-height:150px; }
    html[data-skin="social"] .skin-page .listing-card-body { padding:12px; }
    html[data-skin="editorial"] .skin-page :is(.tile-grid,.market-grid) { grid-template-columns:1fr; }
    html[data-skin="editorial"] .skin-page :is(.listing-card:first-child,.room-tile:first-child) { grid-column:auto; display:block; }
    html[data-skin="editorial"] .skin-page .listing-card:first-child .listing-card-link { display:block; }
    html[data-skin="editorial"] .skin-page .listing-card:first-child .listing-card-title { font-size:1.45rem; }
    html[data-skin="editorial"] .skin-page .market-detail { display:block; }
    html[data-skin="console"] .skin-page .listing-card-link { grid-template-columns:86px minmax(0,1fr); }
    html[data-skin="console"] .skin-page .listing-card-body { display:block; padding:12px; }
    html[data-skin="console"] .skin-page .listing-card-body>.listing-card-footer { margin-top:12px; }
    html[data-skin="console"] .skin-page .room-tile { display:block; }
    html[data-skin="console"] .skin-page .room-tile>.tile-footer { margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) {
    html[data-skin] .skin-page *,html[data-skin] .skin-page *::before,html[data-skin] .skin-page *::after { transition-duration:.01ms!important; animation-duration:.01ms!important; scroll-behavior:auto!important; }
}
