/* The exhibition is a piece of furniture inside the textile studio. */
html[lang=en]{--display:Georgia,'Times New Roman',serif;--calligraphy:Georgia,'Times New Roman',serif}
html[lang=en] .brand{font-family:BloomScript,'Pinyon Script',cursive!important}
html[lang=en] .brand .mark{font-family:BloomKai,'Bloom Craft Kai',serif!important}
html[lang=en] .bloomHome h1{font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1.3;letter-spacing:0;font-weight:400;margin:16px 0 14px}
html[lang=en] .modeCard h2{font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.25;letter-spacing:0}
html[lang=en] .bloomSwap h1,html[lang=en] #gameName{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.35;letter-spacing:0}
html[lang=en] dialog h2,html[lang=en] .pbCollection h2,html[lang=en] .pbJourney h2,html[lang=en] .collectionHeader h2,html[lang=en] .pattern h3,html[lang=en] #winTitle,html[lang=en] .primary,html[lang=en] #nextLevel{font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.4;letter-spacing:0}
html[lang=en] .primary,html[lang=en] #nextLevel{font-size:20px}html[lang=en] .pattern h3{font-size:15px}
html[lang=en] .completion h2{font-family:Georgia,'Times New Roman',serif;font-size:22px}
.pbCabinet.pbCollection,.pbCabinet.pbJourney,dialog#mapDialog.pbCabinet{position:fixed;width:min(680px,96vw);max-width:680px;height:min(900px,94dvh);max-height:94dvh;margin:auto;padding:0 16px 25px;border:5px solid #5a361e;border-radius:11px;color:#ffebc8;background:linear-gradient(#172c3199,#20180ed9),url('classic/assets/ui/studio-scene.webp') center top/cover;box-shadow:inset 0 0 0 2px #c59a5c,inset 0 0 0 6px #2a1b10,0 20px 70px #08191bd9;overflow:auto;scrollbar-width:thin;scrollbar-color:#b88a50 #372619;font-family:var(--studioFont,BloomKai,serif)}
.pbCabinet::backdrop{background:#0e2027b8;backdrop-filter:blur(6px)}
.pbCabinet .cabinetHeader{position:sticky;top:0;z-index:8;margin:0 -11px;padding:22px 18px 13px;background:linear-gradient(#233d43f5,#172f36f2);border-bottom:3px solid #9e743c;box-shadow:0 5px 10px #160f0da6;text-align:center;isolation:isolate}
.pbCabinet .cabinetHeader:before{content:'✧';display:block;color:#d2a65e;font-size:18px;line-height:18px;margin:0 42px 4px}
.pbCabinet .cabinetHeader h2{font:27px/1.3 var(--studioFont,BloomKai,serif);font-weight:400;letter-spacing:2px;color:#ffe4af;text-shadow:0 2px 2px #111c20;margin:0 37px 9px}
html[lang=en] .pbCabinet .cabinetHeader h2{font-family:Georgia,'Times New Roman',serif;font-size:25px;letter-spacing:0}
.pbCabinet .cabinetHeader p,.pbCabinet .pbCollectionCount{font:12px/1.65 var(--studioFont,BloomKai,serif);color:#d7c3a3;margin:0 25px}
.pbCabinet .cabinetHeader .eyebrow{font-size:10px;letter-spacing:1px;margin:0 30px 8px;color:#d6b17b}
.pbCabinet .cabinetHeader .pbClose,.pbCabinet .cabinetHeader .close{position:absolute;top:16px;right:11px;float:none;width:36px;height:36px;min-width:36px;min-height:36px;background:#16333c;color:#f1d2a0;border:1px solid #a58451;border-radius:50%;padding:0;font:25px/1 Georgia;box-shadow:inset 0 0 0 2px #294854,0 2px 3px #0f1e1f;z-index:9;cursor:pointer}
.pbCabinet .cabinetDisplay,#levelMap.cabinetDisplay{display:block;margin:0;padding:17px 7px 8px;border-left:9px ridge #8d5d31;border-right:9px ridge #8d5d31;background:linear-gradient(90deg,#190f09b3,#37261c44 45%,#1a1009aa),repeating-linear-gradient(91deg,#513923 0,#62432b 2px,#553923 5px,#3b291b 57px,#593b24 60px);box-shadow:inset 0 12px 17px #120b08,inset 4px 0 10px #0d0807,inset -4px 0 10px #0d0807;border-bottom:11px ridge #9b6636}
.cabinetBay{position:relative;padding:0 0 13px}.cabinetBayTitle{font:15px/1.4 var(--studioFont,BloomKai,serif);font-weight:400;text-align:center;letter-spacing:1px;color:#f8d59b;width:max-content;max-width:90%;margin:11px auto 20px;padding:7px 23px 8px;border:1px solid #b68a4d;border-radius:3px;background:linear-gradient(#704925,#422c1b);box-shadow:inset 0 0 0 3px #51351f,0 3px 5px #120b0a;text-shadow:0 2px 1px #24170e}
.pbCabinet #levelMap h3.cabinetBayTitle{font:15px/1.4 var(--studioFont,BloomKai,serif);font-weight:400;letter-spacing:0;color:#f8d59b;margin:11px auto 20px}
.cabinetShelf{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;padding:19px 12px 15px;margin:0 0 18px;background:radial-gradient(ellipse at 50% 5%,#e8c37d24,transparent 70%);isolation:isolate}
.cabinetShelf:before{content:'';position:absolute;z-index:-1;left:0;right:0;top:0;height:100%;background:linear-gradient(#160d09a6,transparent 16%,transparent 80%,#160d0980);pointer-events:none}
.cabinetShelf:after{content:'';position:absolute;left:-14px;right:-14px;bottom:-9px;height:17px;background:linear-gradient(#d7a664 0,#9c6a38 15%,#bb8246 25%,#754321 48%,#472915 73%,#301d13 100%);border-top:1px solid #efc080;border-bottom:2px solid #24150d;border-radius:2px;box-shadow:0 9px 9px #140b09aa;pointer-events:none}
.pbCabinet .cabinetTile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;min-width:0;width:100%;margin:0;padding:0 0 4px;background:none;border:0;border-radius:0;box-shadow:none;color:#f2d7ab;font-family:var(--studioFont,BloomKai,serif);text-shadow:0 1px 2px #20130b;cursor:pointer;transition:filter .2s,transform .2s}
.pbCabinet .cabinetTile:disabled{opacity:1;filter:none;cursor:default}.cabinetTile:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px)}.cabinetTile:focus-visible{outline:2px solid #f4d397;outline-offset:5px;border-radius:3px}
.cabinetMount{position:relative;display:block;flex:none;width:100%;aspect-ratio:1;padding:12.5%;background:url('classic/assets/ui/studio-frame-v3.webp') center/100% 100% no-repeat;filter:drop-shadow(0 5px 3px #0e0807aa)}
.cabinetMount img{display:block;width:100%;height:100%;object-fit:contain;background:#e0cfaa;box-shadow:inset 0 0 6px #26180d}
.cabinetPlaque{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-align:center;width:95%;min-height:4.4em;height:4.4em;line-height:1.32;padding:4px 5px;margin:7px auto 0;background:linear-gradient(#b59155,#d0af70 35%,#a17d47);color:#382719;border:1px solid #dfbb7b;border-radius:2px;box-shadow:inset 0 0 0 2px #9e794533,0 3px 3px #170e0999;text-shadow:0 1px #f7dba566;font:12px/1.32 var(--studioFont,BloomKai,serif);font-weight:400}
.cabinetTile:has(.cabinetName) .cabinetPlaque{height:24px;min-height:24px;width:48px;max-width:75%;padding:2px 4px;font:17px/1.1 Georgia,serif;margin-top:5px}
.cabinetName{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:12px/1.35 var(--studioFont,BloomKai,serif);color:#f3dbb1;margin-top:6px;padding:0 2px;width:100%;height:2.7em;text-align:center}
.cabinetSeal{position:absolute;right:2px;top:3px;background:#954333;border:1px solid #d69b66;border-radius:2px;padding:2px 4px;font:10px/1.2 Georgia;letter-spacing:1px;color:#ffe5a8;box-shadow:0 2px 3px #150c08;transform:rotate(6deg)}
.cabinetTile.is-current .cabinetMount{filter:drop-shadow(0 0 7px #edc57c99) drop-shadow(0 6px 3px #160d0b)}.cabinetTile.is-current .cabinetPlaque{background:linear-gradient(#efdbac,#cba56a);border-color:#fff0bc;color:#253e3c;box-shadow:0 0 0 2px #e6bd6c66,0 3px 4px #100b08}
.cabinetWrappedCloth{position:relative;display:grid;place-items:center;width:100%;height:100%;background:repeating-linear-gradient(45deg,transparent 0 8px,#afc6bc30 8px 9px,transparent 9px 15px),repeating-linear-gradient(-45deg,#244650 0 8px,#6a8c8a44 8px 9px,#203b47 9px 15px);box-shadow:inset 6px 0 7px #0e1b25b3,inset -4px 0 5px #0d1e28,inset 0 5px 6px #0b1925;border:1px solid #8a9b8b66;overflow:hidden}
.cabinetWrappedCloth:before{content:'';position:absolute;left:42%;top:0;bottom:0;width:16%;background:linear-gradient(90deg,#7d653e,#bb9b63,#78603d);box-shadow:2px 0 3px #0e1623}.cabinetWrappedCloth i{position:relative;display:grid;place-items:center;width:27px;height:30px;font:19px/1 Georgia;color:#dcc08c;background:#663c2d;border:1px solid #b58d57;box-shadow:0 3px 5px #0b1923;transform:rotate(-5deg);font-style:normal}
.cabinetTile.is-locked .cabinetMount{filter:saturate(.55) brightness(.8) drop-shadow(0 5px 3px #0e0807aa)}.cabinetTile.is-locked .cabinetName{color:#baaa8b}.cabinetTile.is-locked .cabinetPlaque{background:linear-gradient(#87704d,#aa8d5e,#766042);border-color:#a68c60;color:#e3d1af;text-shadow:0 1px 2px #342718}
.pbCabinet>p.tiny{color:#e5cfa8;padding:8px 13px 0;text-align:center;font:11px var(--studioFont,serif)}
.pbCabinet .pbFullCloth{background:#2a211b;max-height:69dvh;border:6px ridge #956633;box-shadow:0 8px 20px #100b09;max-width:96%;margin:20px auto}.pbCabinet>.pbBack{color:#efd3a5;margin:18px 8px 8px;font-family:var(--studioFont,serif)}.pbCabinet>.pbViewerClose{margin:12px 0 0;background:#183943;color:#efd3a5;border-color:#b28b53}.pbCabinet>h2{color:#ffe4af;text-align:center;font-family:var(--studioFont,serif);padding:0 15px;font-size:22px;line-height:1.4}
@media(max-width:450px){.pbCabinet.pbCollection,.pbCabinet.pbJourney,dialog#mapDialog.pbCabinet{padding-left:8px;padding-right:8px;border-width:3px;width:97vw;max-height:96dvh;height:96dvh}.pbCabinet .cabinetHeader{margin:0 -5px;padding:16px 9px 11px}.pbCabinet .cabinetHeader h2,html[lang=en] .pbCabinet .cabinetHeader h2{font-size:22px}.pbCabinet .cabinetHeader p{font-size:10px;margin:0 22px}.pbCabinet .cabinetDisplay,#levelMap.cabinetDisplay{padding-left:3px;padding-right:3px;border-left-width:6px;border-right-width:6px}.cabinetShelf{gap:8px;padding:14px 6px 13px;margin-bottom:15px}.cabinetShelf:after{left:-8px;right:-8px;height:14px}.cabinetPlaque{font-size:10px;padding:4px 3px;height:4.7em;min-height:4.7em}.cabinetName{font-size:10px}.cabinetBayTitle,.pbCabinet #levelMap h3.cabinetBayTitle{font-size:12px}.cabinetSeal{font-size:8px;right:0}.cabinetWrappedCloth i{width:22px;height:24px;font-size:15px}html[lang=en] .bloomHome h1{font-size:27px}html[lang=en] .modeCard h2{font-size:21px}html[lang=en] .bloomSwap h1,html[lang=en] #gameName{font-size:19px}}
@media(prefers-reduced-motion:reduce){.cabinetTile{transition:none}.cabinetTile:hover:not(:disabled){transform:none}}
#gallery.pbCabinet{color:#f0ddbb;padding:4px 9px 20px}#gallery.pbCabinet .collectionHeader h2{color:#ffedc7}#gallery.pbCabinet .albumIntro,#gallery.pbCabinet .sectionhead{color:#f0d8ac}#gallery.pbCabinet #cards.cabinetDisplay{display:block;margin:14px 0 0;padding:15px 3px 8px;border:6px ridge #8d5d31;background:linear-gradient(90deg,#190f09b3,#37261c44 45%,#1a1009aa),repeating-linear-gradient(91deg,#513923 0,#62432b 2px,#553923 5px,#3b291b 57px,#593b24 60px);box-shadow:inset 0 12px 17px #120b08}#gallery.pbCabinet .filters button{color:#e8d3aa;background:#183943;border:1px solid #80663f}#gallery.pbCabinet .filters button.active{background:#b28a51;color:#241b13}
/* All mounts have identical geometry, including portrait and panoramic cloths. */
.cabinetMount{padding:0}.cabinetMount>img,.cabinetMount>.cabinetWrappedCloth{position:absolute;left:12.5%;top:12.5%;width:75%;height:75%}.cabinetBay{scroll-margin-top:155px}
.cabinetTile.is-current .cabinetPlaque{background:linear-gradient(#315d67,#173b49);color:#ffedc6;border-color:#f7d596;box-shadow:0 0 0 2px #ddb96f66,0 3px 4px #100b08}.cabinetName{-webkit-line-clamp:3;height:4.05em}
@media(max-width:450px){.cabinetPlaque,.cabinetName{font-size:11px}.cabinetName{height:4.05em}}
#gallery.pbCabinet{background:linear-gradient(#19343de8,#2c2118e8);border-top:1px solid #a77d43}#gallery.pbCabinet .collection{background:transparent;border:0;box-shadow:none;padding:0}#gallery.pbCabinet .collectionHeader .eyebrow,#gallery.pbCabinet #count,#gallery.pbCabinet #empty{color:#ebd6af}#gallery.pbCabinet .sectionhead{padding:6px 0;background:none}
/* Centre the actual name block, including names that wrap onto several lines. */
.pbCabinet .cabinetPlaque{display:grid;place-items:center;-webkit-line-clamp:unset;-webkit-box-orient:initial;height:calc(4.2em + 12px);min-height:calc(4.2em + 12px);padding:6px 7px;line-height:1.3;font-weight:600;text-shadow:none;text-wrap:balance;overflow-wrap:anywhere}
.pbCabinet .cabinetTile:not(.is-locked):not(.is-current) .cabinetPlaque{color:#21180e;background:linear-gradient(#e2c68d,#d6b778 45%,#c29d5e)}
@media(max-width:450px){
 .pbCabinet .cabinetTile:not(:has(.cabinetName)) .cabinetPlaque{height:calc(6.8em + 12px);min-height:calc(6.8em + 12px);overflow-wrap:anywhere}
}
@media(min-width:1000px){
 #gallery .cabinetPlaque,.pbCollection .cabinetPlaque{font-size:13px}
 #gallery .cabinetBay,.pbCollection .cabinetBay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 #gallery .cabinetShelf,.pbCollection .cabinetShelf{gap:12px;padding-left:8px;padding-right:8px}
}
@media(min-width:601px) and (max-height:650px){
 #gallery .cabinetPlaque,.pbCollection .cabinetPlaque{width:100%;font-size:11px;padding:6px 3px}
 #gallery .cabinetBay,.pbCollection .cabinetBay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #gallery .cabinetShelf,.pbCollection .cabinetShelf{gap:8px;padding:12px 6px 15px}
}

/* Number plaques use lining figures and a single centred line, not name wrapping. */
.pbCabinet .cabinetTile:has(.cabinetName) .cabinetPlaque{display:flex;align-items:center;justify-content:center;height:24px;min-height:24px;padding:0;font:16px/1 Arial,Helvetica,sans-serif;font-variant-numeric:lining-nums tabular-nums;text-wrap:nowrap;overflow-wrap:normal}
