/* Shared layout, independent palettes. Keep identical in games-app/static/css. */
.space-layout{--space-accent:#a83429;--space-ink:#493d37;--space-muted:#6e5d54;--space-sidebar:#f3eeea;--space-line:#dfd4cc;--space-hover:#ebe1da;display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;min-height:calc(100dvh - 64px)}
.space-layout--active{--space-accent:#875027;--space-ink:#493c2e;--space-muted:#71624f;--space-sidebar:#f6f1e7;--space-line:#e0d6c6;--space-hover:#eee4d2}
.space-layout *{box-sizing:border-box}
.space-sidebar{position:sticky;top:var(--header,64px);height:calc(100dvh - var(--header,64px));overflow:auto;padding:24px 16px 40px;background:var(--space-sidebar);border-right:1px solid var(--space-line);color:var(--space-ink);font:400 13px/1.5 'Platform Inter',Inter,system-ui,sans-serif}
.space-navigation{display:flex;flex-direction:column;gap:8px}
.space-sidebar a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.space-sidebar .space-title{display:flex;align-items:center;gap:8px;padding:0 8px 16px;font-size:20px;font-weight:600;color:var(--space-accent)}
.space-title svg{width:26px;height:26px;flex:none}
.space-links{display:flex;flex-direction:column;gap:4px}
.space-links a{display:block;padding:11px 12px;border:1px solid transparent;border-radius:5px;font-weight:600}
.space-links a:hover{background:var(--space-hover);color:var(--space-accent)}
.space-links a[aria-current]{background:#fff;border-color:var(--space-line);color:var(--space-accent)}
.space-links--secondary{border-top:1px solid var(--space-line);margin-top:16px;padding-top:16px}
.space-links--secondary a{font-weight:400}
.space-picker{display:grid;gap:6px;margin:16px 4px 8px}
.space-picker label{font-size:12px;font-weight:600;color:var(--space-muted)}
.space-picker select{width:100%;min-width:0;min-height:40px;padding:9px 28px 9px 10px;background:#fff;border:1px solid var(--space-line);border-radius:5px;color:var(--space-ink);font:600 13px/1.5 'Platform Inter',Inter,system-ui,sans-serif}
.space-scope{margin:0 4px 8px;font-size:12px;color:var(--space-muted);overflow-wrap:anywhere}
.space-hide,.space-menu-toggle,.space-reopen{font:600 13px/1.5 'Platform Inter',Inter,system-ui,sans-serif;min-height:44px;border:0;background:transparent;color:var(--space-accent);text-align:left;cursor:pointer}
.space-hide{margin-top:24px;padding:8px 12px}
.space-hide:hover,.space-menu-toggle:hover,.space-reopen:hover{background:var(--space-hover)}
.space-menu-toggle,.space-reopen{display:none;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px}
.space-menu-toggle svg,.space-reopen svg{width:18px;height:18px;flex:none}
.space-content{min-width:0;width:100%}
.space-sidebar :is(a,button,select):focus-visible,.space-reopen:focus-visible{outline:2px solid var(--space-accent);outline-offset:2px}
.space-skip{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-150%);padding:12px 16px;background:#fff;color:#243a38;border:2px solid #243a38}
.space-skip:focus{transform:translateY(0)}
.space-layout--canvas{flex:1;min-height:0;align-items:stretch;overflow:hidden}
.space-layout--canvas>.space-sidebar{position:static;height:100%;min-height:0}
.space-layout--canvas>.space-content{display:flex;flex-direction:column;min-height:0}
.space-layout.is-nav-collapsed{grid-template-columns:minmax(0,1fr)}
.space-layout.is-nav-collapsed>.space-sidebar{display:none}
.space-layout.is-nav-collapsed .space-reopen{display:flex;flex:none;align-self:flex-start;margin:4px 12px}
@media(max-width:900px){
 .space-layout{display:block}
 .space-sidebar{position:static;height:auto;padding:0 20px;border-right:0;border-bottom:1px solid var(--space-line);overflow:visible}
 .space-menu-toggle{display:flex;width:100%;padding:8px 0}
 .space-navigation{padding:16px 0 24px}
 .space-layout[data-enhanced] .space-navigation:not(.is-open){display:none}
 .space-sidebar .space-title,.space-hide{display:none}
 .space-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .space-links--secondary{margin-top:8px}.space-picker{margin-top:0}
 .space-layout--canvas{display:flex;flex-direction:column}
 .space-layout--canvas>.space-sidebar{height:auto;flex:none;max-height:45dvh;overflow:auto}
 .space-layout--canvas>.space-content{flex:1}
}
@media(max-width:640px){.space-sidebar{padding-inline:16px}}
@media print{.space-sidebar,.space-reopen,.space-skip{display:none!important}.space-layout,.space-layout--canvas,.space-layout--canvas>.space-content{display:block!important;height:auto!important;overflow:visible!important}}
