/* GM references share the sheet's active nation palette. */
.object-image{display:block;width:100%;max-height:280px;object-fit:contain;background:color-mix(in srgb,var(--accent) 5%,#fffdfb);margin:18px 0;border:1px solid var(--line,#dbced2)}
.object-image-preview{display:block;width:100%;max-height:300px;object-fit:contain;margin:0 0 16px;background:#eee7e4;border:1px solid #d8cbd0}
.object-image-editor{margin:20px 0;padding-top:20px;border-top:1px solid #ded0d7}
.object-description{margin:15px 0}.object-description>summary,.gm-codex-card details>summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:700;padding:8px 0;min-height:28px;line-height:1.6}
.gm-objects-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.gm-objects-workspace.gm-codex-open{grid-template-columns:minmax(0,1fr) minmax(310px,.85fr)}
.campaign-objects-list{min-width:0;border:2px solid transparent;padding:0;transition:border-color .24s,background-color .24s;min-height:220px;border-radius:3px}
.campaign-objects-list>.campaign-grid{margin-top:0}.gm-codex-open .campaign-objects-list>.campaign-grid{grid-template-columns:1fr}
.campaign-objects-list.gm-drop-ready{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 40%,transparent)}
.campaign-objects-list.gm-drop-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.gm-drop-hint{display:none;padding:20px;margin:0;border:1px dashed #bba7b2;color:var(--accent);font-size:12px;line-height:1.6;text-align:center}
.gm-codex-open .gm-drop-hint{display:block;margin-top:18px}
.gm-codex-panel{position:sticky;top:80px;min-width:0;max-height:calc(100dvh - 96px);overflow:auto;overscroll-behavior:contain;border:1px solid #cdbdc6;background:#f4eeea;scrollbar-width:thin;animation:gm-codex-enter .24s ease-out}
.gm-codex-panel[hidden]{display:none!important}
.gm-codex-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 20px 16px;background:var(--nav-bg);color:#fff8f4}
.gm-codex-head h2{font:25px/1.2 Georgia,serif;color:#fff8f4;margin:5px 0 0}.gm-codex-head .eyebrow{color:#e1cbd3;font-size:9px}.gm-codex-head .site-action{color:#fff8f4;background:transparent;border:1px solid #ffffff44;min-height:44px;width:44px;padding:0;font-size:23px;flex-shrink:0}
.gm-codex-controls{padding:18px 20px 0}.gm-codex-controls>.button-row{margin-bottom:17px}.gm-codex-controls .campaign-field{margin-bottom:12px}
.gm-codex-filters{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.gm-codex-filters select{font-size:12px;padding:10px 8px;min-height:44px}
.gm-codex-count{font-size:11px;color:#7b6572;margin:0;padding:0 20px 12px}.gm-codex-panel>.form-error{margin:0 20px 14px}
.gm-codex-entries{padding:0 14px 14px;display:grid;gap:12px}
.gm-codex-card{background:#fffdfb;border:1px solid #d9cad2;padding:18px;min-width:0;overflow-wrap:anywhere;cursor:grab;transition:opacity .2s,box-shadow .2s,border-color .2s}
.gm-codex-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,#d9cad2);box-shadow:0 5px 18px #39252a09}.gm-codex-card.is-dragging{opacity:.5;cursor:grabbing}
.gm-codex-card h3{font:22px/1.2 Georgia,serif;color:var(--ink);margin:13px 0 10px}.gm-codex-card .card-kicker{font-size:10px}.gm-codex-value{font-size:12px;margin:0 0 8px;color:#76616c}.gm-codex-value strong{color:var(--accent)}
.gm-codex-body{font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;color:#5d4a55;padding:6px 0 13px}
.gm-codex-card .button-row{margin-top:15px;gap:8px}.gm-codex-card .site-action{font-size:11px;min-height:44px;padding:9px 12px}.gm-codex-card .form-error{margin-bottom:0}
@keyframes gm-codex-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.gm-objects-workspace.gm-codex-open{grid-template-columns:minmax(0,1fr)}.gm-codex-panel{position:relative;top:0;max-height:70dvh;grid-row:1}.gm-codex-open .campaign-objects-list{grid-row:2}.gm-codex-entries{grid-template-columns:repeat(2,minmax(0,1fr))}.gm-codex-controls .campaign-field input{font-size:16px}.gm-drop-hint{display:none!important}}
@media(max-width:620px){.gm-codex-entries{grid-template-columns:1fr}.gm-codex-head{padding:18px}.gm-codex-controls{padding:16px 16px 0}.gm-codex-filters{grid-template-columns:1fr 1fr}.gm-codex-filters select{font-size:11px}.gm-codex-card{padding:17px}.gm-codex-panel{max-height:75dvh}.object-image{max-height:220px}}
@media(prefers-reduced-motion:reduce){.gm-codex-panel{animation:none}.gm-codex-card,.campaign-objects-list{transition:none}}
