/* Campus Core · shared game-native presentation tokens and UI primitives.
   Use with existing Item Shop & Marketplace pages, no cash/auth effects. */
:root{--cm-bg:#0b0b0b;--cm-panel:#181818;--cm-panel-2:#242424;--cm-panel-3:#2b2b2b;--cm-border:#666;--cm-border-focus:#c4ad7b;--cm-silver:#d7d7d7;--cm-text:#e8e8e8;--cm-muted:#a9aaa8;--cm-gold:#e6cd8a;--cm-green:#a4d98e;--cm-blue:#b6ccec;--cm-font:Tahoma,Arial,sans-serif}
.cm-class-badge,.cm-school-badge{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-width:0;color:#d8d8d8;font:11px/1.5 var(--cm-font);vertical-align:middle}
.cm-class-icon,.cm-school-icon{display:block;flex:none;object-fit:contain;width:22px;height:22px}
.cm-class-icon{padding:3px;filter:drop-shadow(0 1px 1px #000a)}
.cm-school-icon{width:24px;height:24px;border:1px solid #6a6761;border-radius:50%;background:#242424}
.cm-school-name,.cm-class-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-icon-button{position:relative;isolation:isolate;width:46px;height:46px;min-width:46px;min-height:46px;border:1px solid #807457;border-radius:2px;background:#202020;display:inline-flex;align-items:center;justify-content:center;padding:3px;box-shadow:inset 0 0 0 2px #171717;cursor:pointer}
.cm-icon-button:hover,.cm-icon-button:focus-visible{border-color:#efdba7;background:#303030;outline-offset:2px}
.cm-icon-native{width:35px;height:35px;object-fit:contain;image-rendering:pixelated}
.cm-icon-refine{position:absolute;right:0;bottom:0;padding:1px 3px;line-height:12px;color:#f8dc9c;background:#101010e8;font:bold 10px/1.3 var(--cm-font);text-shadow:0 1px #000}
.cm-icon-missing{color:#b0b0b0}.cm-item-details{min-width:0;border:1px solid var(--cm-border);background:#151515;box-shadow:none;color:var(--cm-text);text-align:left;font:12px/1.72 var(--cm-font);border-radius:2px;overflow:hidden;max-width:100%}
.cm-item-head{display:flex;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid #45433c;background:#242424}
.cm-item-avatar{display:grid;place-items:center;width:39px;height:39px;flex:none;border:1px solid #68604c;background:#111}
.cm-item-native-icon{width:35px;height:35px;object-fit:contain;image-rendering:pixelated}
.cm-item-head-copy{min-width:0}.cm-item-title{display:block;font:700 13px/1.5 var(--cm-font);color:#f1d28c;overflow-wrap:anywhere}.cm-item-subtitle{display:block;color:#a9a49a;font-size:10px;line-height:1.45}
.cm-item-body{padding:11px 13px}.cm-item-section-title{display:block;color:var(--cm-silver);font:bold 11px/1.7 var(--cm-font);margin:12px 0 4px}.cm-item-body>.cm-item-section-title:first-child{margin-top:0}
.cm-item-properties{padding:0;display:grid;gap:3px}
.cm-property{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;font:11px/1.6 var(--cm-font)}
.cm-property-key{color:#b8b8af;min-width:0;overflow-wrap:anywhere}
.cm-property-value{color:var(--cm-green);font-weight:400;text-align:right;font-variant-numeric:tabular-nums;max-width:140px;overflow-wrap:anywhere}
.cm-property-value.require{color:var(--cm-blue)}.cm-property-value.example{color:#9acdd5}
.cm-item-desc{font-size:11px;color:#c3c3b9;line-height:1.8;margin:6px 0 8px}
.cm-item-warning{font:10px/1.65 var(--cm-font);color:#c2ac86;margin:10px 0 3px}.cm-item-code{display:block;font-size:9px;color:#95958e;border-top:1px solid #36332d;padding-top:8px;margin-top:9px;overflow-wrap:anywhere}
.cm-native-tooltip{position:fixed;z-index:2147482000;pointer-events:none;width:310px;max-height:min(580px,calc(100vh - 16px));overflow:auto;max-width:calc(100vw - 16px);box-shadow:0 12px 32px #000e}
.cm-item-details.compact .cm-item-body{padding:9px 12px}
.cm-class-filters{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:0}
.cm-class-filter{display:flex;align-items:center;gap:7px;padding:9px 12px;background:#1d1d1d;border:1px solid #5c5c5c;border-radius:2px;color:#ddd;min-height:45px;font:12px var(--cm-font)}
.cm-class-filter:hover,.cm-class-filter.active{border-color:#c1a978;background:#333029;color:#f0d59a}
.cm-class-filter img{width:22px;height:22px;object-fit:contain}
.cm-class-filter:focus-visible{outline:2px solid #e6cd8a;outline-offset:2px}
.cm-school-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.cm-school-filter{display:flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid #565656;background:#202020;color:#c5c5c5;font:10px/1.5 var(--cm-font);min-height:34px}
.cm-school-filter:hover,.cm-school-filter.active{color:#f1d89c;border-color:#b9a269;background:#30302c}
.cm-school-filter img{height:22px;width:22px;object-fit:contain;border-radius:50%}
@media(max-width:600px){.cm-item-details{font-size:12px}.cm-item-body{padding:10px}.cm-class-filter{min-height:42px;padding:7px 9px;font-size:11px}.cm-class-filter img{width:20px;height:20px}.cm-school-filter{font-size:9px}}

/* Exact native school/class portraits retain their rectangular pixels. */
img.cm-school-icon.cm-native-identity-icon,img.cm-class-icon.cm-native-identity-icon{width:30px;height:30px;object-fit:contain;padding:0;border:0;border-radius:0;background:transparent;filter:none;image-rendering:pixelated}
