/* Scoped category canvas: existing learning and memory layouts stay untouched. */
body.museum-refined .museum-masthead-shortcuts [data-mr-action="genre-map"]::before{content:'';display:block;width:28px;height:28px;background:currentColor;mask:var(--genre-shortcut-icon) center/contain no-repeat;-webkit-mask:var(--genre-shortcut-icon) center/contain no-repeat}
body.gm-open{overflow:hidden!important}
body.gm-open #studentAssistantFab{display:none!important}
body.student-page.gm-open #mobileStudyNav{display:none!important}
body.museum-refined #museumGenreMap{--gm-gold:#c3a879;--gm-ink:#121410;--gm-line:#a88d5e80;position:fixed;inset:0;z-index:64;width:100%;max-width:1024px;margin:auto;display:flex;flex-direction:column;overflow:hidden;background:#11130f url('/assets/museum/r215/genre-map-background.png') center/cover no-repeat;color:#ece5d5;font-family:var(--font-body);isolation:isolate}
#museumGenreMap button{appearance:none;box-shadow:none;background:transparent;border:0;border-radius:0;color:inherit;font:inherit;cursor:pointer;min-height:44px;padding:0}
#museumGenreMap button:active{transform:none}
#museumGenreMap button:focus-visible{outline:2px solid var(--gm-gold);outline-offset:3px}
#museumGenreMap .gm-icon{display:inline-block;flex-shrink:0;width:25px;height:25px;background:currentColor;mask:var(--gm-icon) center/contain no-repeat;-webkit-mask:var(--gm-icon) center/contain no-repeat;vertical-align:middle;pointer-events:none}
#museumGenreMap .gm-header{flex-shrink:0;display:flex;align-items:center;gap:22px;padding:20px 28px 15px;color:var(--gm-gold)}
#museumGenreMap .gm-header>button{width:44px;flex-shrink:0}
#museumGenreMap .gm-header>button .gm-icon{width:30px;height:30px}
#museumGenreMap .gm-header>button span:last-child{display:none}
#museumGenreMap h1{font:400 28px/1.4 var(--font-display)!important;max-width:none!important;overflow:visible;flex-shrink:0;white-space:nowrap;letter-spacing:.08em;margin:0;display:flex;align-items:center;gap:17px;color:#d7bc91!important}
#museumGenreMap h1 .gm-icon{width:30px;height:30px}
#museumGenreMap .gm-brand{margin-left:auto;display:flex;align-items:center;gap:12px;font:400 23px/1.4 var(--font-display);letter-spacing:.12em}
#museumGenreMap .gm-brand img{width:28px;height:39px;object-fit:contain}
#museumGenreMap .gm-controls{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:18px;padding:8px 32px 0;flex-shrink:0}
#museumGenreMap .gm-courses{display:flex;flex:1;gap:20px;overflow-x:auto;min-width:0;scrollbar-width:thin;scrollbar-color:#8c7858 transparent}
#museumGenreMap .gm-courses button{white-space:nowrap;padding:8px 10px 10px;font:400 23px/1.4 var(--font-display);color:#a49a83;border-bottom:2px solid transparent;letter-spacing:.02em}
#museumGenreMap .gm-course-short{display:none}
#museumGenreMap .gm-courses button[aria-selected=true]{color:#f0e2c5;border-color:#d0b280}
#museumGenreMap .gm-styles{display:flex;flex-shrink:0;border:1px solid #b29a6b65;border-radius:8px;padding:2px;background:#11130ecc}
#museumGenreMap .gm-styles button{padding:4px 12px;min-height:44px;font-size:14px;white-space:nowrap;letter-spacing:.03em;color:#c8b99c;border:1px solid transparent;border-radius:6px}
#museumGenreMap .gm-styles button[aria-pressed=true]{color:#ebce94;border-color:#c8ad7d;background:#bfa57516}
#museumGenreMap .gm-status{flex-shrink:0;height:27px;margin:10px 32px 0;font-size:13px;color:#b1a58b;letter-spacing:.05em}
#museumGenreMap .gm-viewport{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
#museumGenreMap .gm-viewport.is-dragging{cursor:grabbing}
#museumGenreMap .gm-viewport.gm-pan-off{cursor:default}
#museumGenreMap .gm-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
#museumGenreMap canvas,#museumGenreMap .gm-nodes{position:absolute;inset:0;pointer-events:none}
#museumGenreMap .gm-node{position:absolute;pointer-events:auto}
#museumGenreMap .gm-root{display:flex;align-items:center;justify-content:center;background:url('/assets/museum/r215/genre-root-cartouche-v2.png') center/100% 100% no-repeat;text-align:center}
#museumGenreMap .gm-root h2{font:400 36px/1.2 var(--font-display);color:#f2ead8;letter-spacing:.04em;margin:0;max-width:260px;overflow-wrap:anywhere}
#museumGenreMap .gm-genre>button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:8px;padding:0 4px;color:#b59b6b}
#museumGenreMap .gm-genre>button>.gm-icon{width:55px;height:55px}
#museumGenreMap .gm-category-mark{width:55px;height:55px;object-fit:contain;opacity:.85;pointer-events:none}
#museumGenreMap .gm-reference-mark{display:block;width:55px;height:55px;background:#d5b77c;mask-image:var(--gm-category-mark);mask-mode:luminance;mask-position:center;mask-size:80px 80px;mask-repeat:no-repeat;pointer-events:none}
#museumGenreMap .gm-genre strong{font:400 24px/1.45 var(--font-display);color:#eee5d2;overflow-wrap:anywhere;text-align:center}
#museumGenreMap .gm-genre [aria-expanded=true] strong{color:#efd3a2}
#museumGenreMap .gm-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--gm-gold);border-radius:50%;color:var(--gm-gold)}
#museumGenreMap .gm-toggle .gm-icon{width:17px;height:17px}
#museumGenreMap .gm-topic>button{display:flex;align-items:center;gap:18px;text-align:left;width:100%;min-height:98px}
#museumGenreMap .gm-topic-art{width:128px;height:96px;flex:0 0 128px;border:1px solid #b59b6b70;border-radius:9px;overflow:hidden;background:#cbbb9810}
#museumGenreMap .gm-topic-art img,#museumGenreMap .gm-topic-art .protected-image-wrap,#museumGenreMap .gm-selected-art img,#museumGenreMap .gm-selected-art .protected-image-wrap{width:100%;height:100%;object-fit:cover;display:block}
#museumGenreMap .is-selected .gm-topic-art{border:2px solid #d7b582}
#museumGenreMap .gm-topic-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:7px}
#museumGenreMap .gm-topic-copy strong{font:400 24px/1.25 var(--font-display);color:#eee7d7;border-bottom:1px solid #a9936980;padding-bottom:4px;overflow-wrap:anywhere}
#museumGenreMap .gm-topic-copy small{font:400 14px/1.5 var(--font-body);color:#b8ab90;overflow-wrap:anywhere}
#museumGenreMap .gm-text-topic{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#b59b6b}
#museumGenreMap .gm-empty{position:absolute;inset:30% 20px auto;text-align:center;color:#d1c3aa;font-size:18px;line-height:1.8}
#museumGenreMap .gm-tools-area{flex-shrink:0;align-self:stretch;padding:6px 12px calc(6px + var(--wf-safe-bottom,env(safe-area-inset-bottom,0px)));text-align:center;background:var(--gm-ink,#121410);border-top:1px solid var(--gm-line,#a88d5e80)}
#museumGenreMap .gm-tools{display:flex;gap:4px;align-items:center;justify-content:space-evenly;max-width:520px;margin:0 auto;padding:0;border:0;border-radius:0;background:transparent;color:#dbc49f}
#museumGenreMap .gm-tools button{display:flex;align-items:center;justify-content:center;gap:8px;width:44px;min-height:44px;flex-shrink:0}
#museumGenreMap .gm-tools button span:last-child{display:none}
#museumGenreMap .gm-tools [data-gm-action=collapse]{width:auto;padding-left:10px;margin-left:2px;border-left:1px solid #84745280;flex-direction:row-reverse;font-size:13px;min-height:44px;white-space:nowrap}
#museumGenreMap .gm-tools [data-gm-action=collapse] span:last-child{display:inline}
#museumGenreMap .gm-tools [aria-pressed=true]{color:#ffe6b9}
#museumGenreMap .gm-tools .gm-icon{width:20px;height:20px}
#museumGenreMap .gm-zoom{min-width:42px;font:13px/1.3 system-ui,sans-serif;color:#dfd0b4}
#museumGenreMap .gm-hint{display:none}
#museumGenreMap .gm-selection{display:flex;box-sizing:border-box;align-items:center;flex-shrink:0;gap:16px;padding:8px 24px;border-top:1px solid #b59b6b40;background:#12140ed9;min-height:64px}
#museumGenreMap .gm-selected-art{width:72px;height:48px;flex:0 0 72px;border:1px solid #b59b6b70;border-radius:5px;overflow:hidden}
#museumGenreMap .gm-selected-art:empty{display:none}
#museumGenreMap .gm-selected-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
#museumGenreMap .gm-selected-copy strong{font:400 22px/1.4 var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#museumGenreMap .gm-selected-copy small{font-size:12px;color:#b7aa90;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#museumGenreMap .gm-selection>button{display:flex;align-items:center;gap:12px;flex-direction:row-reverse;border:1px solid #c3a879;border-radius:7px;min-height:44px;padding:8px 20px;color:#d9ba86;font-size:18px;flex-shrink:0}
@media(max-width:700px){
 #museumGenreMap .gm-header{gap:10px;padding:12px 12px 4px}#museumGenreMap h1{font-size:24px!important;gap:9px}#museumGenreMap .gm-brand{font-size:17px;gap:5px}#museumGenreMap .gm-brand img{width:20px;height:28px}
 #museumGenreMap .gm-controls{padding:4px 12px 0;gap:8px}#museumGenreMap .gm-courses{gap:8px}#museumGenreMap .gm-courses button{font-size:17px;padding:4px 5px 6px;min-height:44px}
 #museumGenreMap .gm-course-full{display:none}#museumGenreMap .gm-course-short{display:inline}
 #museumGenreMap .gm-styles{margin-left:auto}#museumGenreMap .gm-styles button{padding:4px 6px;font-size:12px;min-width:40px}#museumGenreMap .gm-status{margin:4px 14px 0;font-size:11px;height:20px}
 #museumGenreMap .gm-tools [data-gm-action=collapse]{font-size:12px}
 #museumGenreMap .gm-selection{padding:6px 12px;gap:8px;min-height:60px}#museumGenreMap .gm-selected-art{width:44px;height:40px;flex-basis:44px}#museumGenreMap .gm-selected-copy strong{font-size:15px}#museumGenreMap .gm-selected-copy small{font-size:10px;line-height:1.6}#museumGenreMap .gm-selection>button{font-size:12px;padding:6px 9px;gap:4px}#museumGenreMap .gm-selection>button .gm-icon{width:18px}
}
@media(max-height:560px){#museumGenreMap .gm-header{padding-block:3px}#museumGenreMap .gm-controls{padding-top:0}#museumGenreMap .gm-status,#museumGenreMap .gm-hint{display:none}#museumGenreMap .gm-selection{padding-block:3px;min-height:50px}#museumGenreMap .gm-selected-art{height:38px;width:50px;flex-basis:50px}#museumGenreMap .gm-selected-copy strong{font-size:16px}#museumGenreMap .gm-selected-copy small{font-size:10px}#museumGenreMap .gm-selection>button{font-size:13px;padding:4px 10px}}
