/* One painted textile studio, shared by both puzzle journeys. */
@font-face{font-family:BloomKai;src:url('classic/assets/fonts/bloom-craft-kai-v13.woff2') format('woff2');font-display:swap}@font-face{font-family:BloomScript;src:url('classic/assets/fonts/pinyon-script-v1.woff2') format('woff2');font-display:swap}
:root{--cream:#fff0cf;--studioInk:#493723;--studioFont:BloomKai,'Kaiti SC',serif;--display:var(--studioFont)}html[lang=en]{--studioFont:Georgia,'Times New Roman',serif;--display:BloomScript,cursive}*{box-sizing:border-box}body.bloomHome,body.bloomSwap{margin:0;min-height:100dvh;font-family:var(--studioFont);color:var(--cream);background:#39463c url('classic/assets/ui/studio-scene.webp') center/cover fixed}body.bloomHome:before,body.bloomSwap:before{content:'';position:fixed;inset:0;background:#10272c77;pointer-events:none}.homeStudio,.swapStudio{position:relative;width:min(100%,520px);min-height:100dvh;margin:auto;background:linear-gradient(#142e3cc9,#1b2c3533 48%,#5b351c22),url('classic/assets/ui/studio-scene.webp') center top/cover;box-shadow:0 0 70px #0a181c99;padding-bottom:20px}.bloomSwap header,.bloomHome header{max-width:none;padding:13px 17px 5px;display:flex;gap:7px;align-items:center;justify-content:space-between}.bloomSwap header>div:first-child{flex:1;min-width:0}.bloomSwap .brand,.bloomHome .brand{font-family:var(--display);font-size:29px;letter-spacing:3px;color:var(--cream);text-shadow:0 2px 3px #152e30;white-space:nowrap}.bloomHome .brand{display:flex;gap:10px;align-items:center;flex:1}.mark{display:grid;place-content:center;width:29px;height:33px;background:#a34432;border:1px solid #d6af72;border-radius:3px;transform:rotate(-5deg);font:20px BloomKai;flex:none}.bloomSwap .subtitle{font:9px Georgia;letter-spacing:1.5px;color:#e1caa3;margin:3px 0 0}.bloomLang{flex:none;min-height:36px;min-width:39px;padding:6px;border:1px solid #c4a46b;border-radius:7px;background:#173c50;color:#ffedc7;font:12px Georgia,serif;cursor:pointer;box-shadow:0 2px 2px #18252c88}.bloomSwap .sound{width:35px;height:35px;flex:0 0 35px;background:#173e50;border-color:#c9a66b;color:var(--cream);font:11px var(--studioFont)}.bloomSwap .pbModeNav.pbCompact{margin-left:0}.pbModeNav.pbCompact a,.arcade .pbModeNav.pbCompact a{background:#f7e8c9;border:1px solid #c1a16b;box-shadow:0 2px 2px #372b2580;color:#4c402c;padding:8px 10px;font-family:var(--studioFont)}.bloomSwap main{max-width:none;padding:0 10px 10px}.bloomSwap .level{color:#ecd2a0;font-size:11px;letter-spacing:1px;margin:9px 0 4px;text-shadow:0 2px 3px #291c16}.bloomSwap h1{font:27px/1.3 var(--display);letter-spacing:2px;color:#fff0cf;margin:0 0 10px;text-shadow:0 2px 3px #291c16}.bloomSwap .stats{color:#fff0cf;margin-bottom:4px;padding:0 14px;text-shadow:0 2px 2px #291c16;font-size:12px}.bloomSwap .stats b{color:#fff0cf;font-size:18px}.bloomSwap .frame{padding:12.5%;background:none;border:0;border-radius:0;box-shadow:none;max-width:none;filter:drop-shadow(0 6px 5px #28160b99);overflow:visible}.bloomSwap .frame:before{content:'';position:absolute;inset:0;z-index:17;background:url('classic/assets/ui/studio-frame-v3.webp') center/100% 100% no-repeat;font-size:0;pointer-events:none}.bloomSwap .frame:after{display:none}.bloomSwap .board{background:#e7dbc5}.bloomSwap .notice{color:#fff0cf;text-shadow:0 2px 3px #291c16;font-size:12px;height:auto;min-height:34px;line-height:1.6;margin:4px 14px 6px}.bloomSwap .tools{gap:4px;flex-wrap:nowrap}.bloomSwap .tools button,.bloomSwap .primary,.collectionBtn{font-family:var(--studioFont);color:#fff0cf;background:transparent url('classic/assets/ui/studio-button.webp') center/100% 100% no-repeat;border:0;box-shadow:none;border-radius:0;min-height:51px;padding:10px 14px 15px;font-size:14px;text-shadow:0 2px 2px #173345}.bloomSwap .tools button{flex:1;min-width:0;padding:9px 3px 13px;font-size:12px}.bloomSwap .tools button.active{filter:brightness(1.35);background-color:transparent}.bloomSwap .dots{margin-top:9px;max-width:240px;gap:5px}.bloomSwap .dots .journeyCount{color:#ffe6b8;text-shadow:0 1px 3px #302014}.bloomSwap .journeyRail{background:#243c3a}.bloomSwap .journeyRail i{background:#e2bb73}.swapBottom{display:flex;justify-content:space-between;padding:3px 22px 0}.swapBottom button{display:flex;flex-direction:column;align-items:center;color:#ffedcc;background:none;border:0;font:14px var(--studioFont);text-shadow:0 2px 2px #392617}.studioProp{display:block;width:67px;height:45px;background:url('classic/assets/ui/studio-props.webp') 0 100%/300% 300% no-repeat;filter:drop-shadow(0 3px 2px #211a1d77);flex:none}.studioProp.prop-swap{background-position:100% 100%}.studioProp.prop-map{background-position:100% 50%}.bloomSwap .completion{margin-top:7px}.bloomSwap .completion h2{color:var(--cream);font-family:var(--display);font-size:25px;letter-spacing:0;text-shadow:0 2px 3px #291c16}.bloomSwap .completion p{color:#f6dcad}.bloomSwap .completion .primary{min-width:170px;font-size:21px}.bloomSwap .frame:has(.complete){animation:none}.bloomSwap .loading{background:#254751;color:#ffedc7}
/* Keep the painted frame inside its own canvas, including its outer bevel. */
.arcade .puzzleFrame{overflow:visible;filter:drop-shadow(0 6px 4px #2b170b88)}.arcade .puzzleFrame:after{inset:0}.arcade .gameShell{overflow:visible}.arcade .playLayout{padding-left:6px;padding-right:6px}.arcadeHeader .bloomLang{min-width:33px;min-height:33px;padding:4px;font-size:10px}.arcadeHeader .brand{font-size:22px}.arcadeHeader>.roundBtn{flex-basis:34px;width:34px;min-width:34px;height:36px;min-height:36px}.arcadeHeader>.roundBtn .prop{width:51px;flex-basis:51px;height:34px}.arcadeHeader{gap:3px}.arcade .pbModeNav.pbCompact{margin-left:2px}.arcade .pbModeNav.pbCompact a{font-size:11px;padding:7px 8px}html[lang=en] .arcadeHeader .brand{font-size:26px}
/* Home: a quiet table with two clear, tactile game entrances. */
.bloomHome header{padding:20px 24px 9px}.bloomHome main{padding:0 24px;text-align:center}.homeEyebrow{font-size:11px;letter-spacing:1px;color:#f0d3a1;margin:18px 0 5px}.bloomHome h1{font:43px/1.25 var(--display);font-weight:400;margin:9px 0 6px;letter-spacing:5px;text-shadow:0 3px 4px #192a2b}.homePoem{font-size:13px;color:#f3dfbc;line-height:1.7;margin:0 0 8px}.homeArt{position:relative;width:64%;max-width:235px;aspect-ratio:1;margin:0 auto;filter:drop-shadow(0 7px 5px #21170dbb);padding:12.5%}.homeArt:after{content:'';position:absolute;inset:0;background:url('classic/assets/ui/studio-frame-v3.webp') center/100% 100% no-repeat}.homeArt img{display:block;width:100%;height:100%;object-fit:cover}#homeCount{color:#f3d7a5;font-size:12px;margin:2px 0 17px;text-shadow:0 2px 3px #352316}.homeModes{display:grid;gap:13px}.modeCard{display:flex;gap:12px;align-items:center;text-align:left;text-decoration:none;color:#fff0cf;border:1px solid #c8a56b;border-radius:9px;padding:15px 12px;background:linear-gradient(115deg,#183747f5,#254c5ae8);box-shadow:inset 0 0 0 3px #14303c,0 4px 0 #172b32,0 8px 14px #26180d66;min-height:106px}.modeCard:hover{filter:brightness(1.1)}.modeCard .studioProp{width:59px;height:52px}.modeCard>div{flex:1;min-width:0}.modeCard h2{font:26px/1.2 var(--display);letter-spacing:2px;margin:0 0 7px;font-weight:400}.modeCard p{font-size:11px;line-height:1.6;color:#e4d3b6;margin:0}.modeCard small{display:block;color:#e8bd75;font-size:11px;margin-top:5px}.enterMark{font:30px Georgia;color:#d5b981}.collectionBtn{display:block;width:79%;margin:23px auto 0;font-size:19px;min-height:59px;cursor:pointer}.homeNote{color:#ecd4ad;font-size:10px;margin:13px 0 0;line-height:1.8;text-shadow:0 2px 3px #302015}.homeStudio:after{content:'';display:block;height:18px}
.pbJourney{position:fixed;background:#f0e1c2;color:#493723;border:2px solid #b08b50;border-radius:12px;width:min(520px,94vw);max-height:86dvh;padding:26px 22px;overflow:auto;box-shadow:inset 0 0 0 4px #fff1cf,0 15px 60px #10252c88;font-family:var(--studioFont)}.pbJourney::backdrop{background:#0d2937b0;backdrop-filter:blur(5px)}.pbJourney .pbClose{float:right}.pbJourney h2{font:32px var(--display);margin:3px 0 9px}.pbJourney>p{font-size:12px;line-height:1.7;color:#8b6a3c}.journeyTrail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px 13px;padding:0 0 10px}.journeyTrail h3{grid-column:1/-1;font:15px var(--studioFont);margin:18px 0 0;color:#80592c}.journeyNode{position:relative;border:2px solid #bb965a;border-radius:50% 50% 9px 9px;background:linear-gradient(#f8eacc,#d9bb85);color:#6e4f2c;min-height:65px;box-shadow:0 4px 0 #a38047;font-family:var(--studioFont);cursor:pointer}.journeyNode strong{font-size:22px;display:block;font-weight:400}.journeyNode span{display:block;font-size:10px;line-height:18px}.journeyNode.cleared{background:linear-gradient(#e7c67d,#c0944c);color:#65401c}.journeyNode.current{background:linear-gradient(#2e6372,#143e51);border-color:#e4bb6d;box-shadow:0 4px 0 #112f3b,0 0 0 3px #c9a66644;color:#fff1ce}.journeyNode:disabled{opacity:.5;box-shadow:0 3px 0 #a59a80;cursor:default;background:#d8cdb7;color:#90816c}.pbCollection{font-family:var(--studioFont)}.pbCollection h2{font-family:var(--display)}.pbCollection button{font-family:var(--studioFont)}
html[lang=en] .bloomSwap .brand{font-size:28px;letter-spacing:0}html[lang=en] .bloomSwap h1{font-size:33px;letter-spacing:0}html[lang=en] .bloomHome .brand{font-size:34px;letter-spacing:0}html[lang=en] .bloomHome h1{font-size:42px;letter-spacing:0}html[lang=en] .modeCard h2{font-size:32px;letter-spacing:0}
@media(min-width:601px){.homeStudio,.swapStudio{margin:18px auto;min-height:calc(100dvh - 36px);border:1px solid #aa8a58;border-radius:14px}.homeStudio{padding-top:8px}.bloomHome main{padding-left:35px;padding-right:35px}}
@media(max-width:370px){.bloomHome header{padding:14px 15px 5px}.bloomHome main{padding:0 16px}.homeArt{width:57%}.homeEyebrow{margin-top:10px}.modeCard{min-height:97px;padding:12px 9px}.bloomSwap .brand{font-size:23px}.bloomSwap header{padding-left:10px;padding-right:10px}.bloomSwap .subtitle{font-size:8px}.bloomSwap h1{font-size:24px}html[lang=en] .bloomSwap .brand{font-size:23px}html[lang=en] .arcadeHeader .brand{font-size:22px}.arcadeHeader .brand .mark{display:none}.journeyTrail{gap:14px 8px}.journeyNode{min-height:58px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.homeArt{padding:0}.homeArt img{position:absolute;left:12.5%;top:12.5%;width:75%;height:75%}

/* All uncropped references and cabinet images share the corrected orientation. */
img[src*="blue-peonies-38-20261026-v2.webp"]{transform:rotate(180deg)}

img[src*="burgundy-fan-171-20261026.webp"]{transform:rotate(90deg)}

/* The final page celebrates the collection without moving the finished board. */
dialog#bloomFinale{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(16px,3vh,36px);border:0;border-radius:0;overflow:auto;background:linear-gradient(#102f3ef2,#193a43ed),url('classic/assets/ui/studio-scene.webp') center/cover;color:#fff0cf;font-family:var(--studioFont,serif);text-align:center;box-shadow:none}
dialog#bloomFinale::backdrop{background:#102d3b}
#bloomFinale .finalePage{position:relative;isolation:isolate;width:min(100%,900px);min-height:100%;margin:auto;padding:clamp(24px,4vh,46px) clamp(16px,5vw,60px);border:1px solid #c49d5d;border-radius:18px;background:radial-gradient(ellipse at 50% 10%,#d6b76d1c,transparent 60%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;overflow:hidden}
#bloomFinale .finaleClose{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #c49d5d80;border-radius:50%;background:#173a45;color:#ffe8b9;font:30px/1 Georgia;cursor:pointer;z-index:2}
#bloomFinale .finaleEyebrow{font-size:12px;letter-spacing:2px;color:#e5c88e;margin:0;padding:0 28px;line-height:1.6}
#bloomFinale .finaleEmblem{font:54px/1 Georgia;color:#e9c578;text-shadow:0 0 24px #f6d68766}
#bloomFinale h2{font:400 clamp(28px,4vw,46px)/1.2 var(--studioFont,serif);color:#fff0cf;letter-spacing:0;text-shadow:none;margin:0;outline:none;max-width:720px}
#bloomFinale .finaleGallery{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:8px 0}
#bloomFinale .finaleGallery img{display:block;min-width:0;width:17%;max-width:115px;aspect-ratio:1;object-fit:cover;border:3px solid #dfbd7a;box-shadow:0 5px 15px #061b2980;border-radius:4px}
#bloomFinale .finaleGallery img:nth-child(2),#bloomFinale .finaleGallery img:nth-child(4){translate:0 8px}
#bloomFinale .finaleCount{font:400 clamp(34px,5vw,52px)/1 Georgia;color:#f7d491;margin:4px 0 0;font-variant-numeric:tabular-nums}
#bloomFinale .finaleMode{font-size:17px;letter-spacing:1px;color:#f0d5a3;margin:0}
#bloomFinale .finaleThanks{max-width:610px;font-size:clamp(15px,2vw,18px);line-height:1.8;margin:0;color:#f4e5ca}
#bloomFinale .finaleKeepsake{font-size:14px;line-height:1.6;color:#d7bc89;margin:0}
#bloomFinale .finaleActions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(100%,340px);margin-top:5px}
#bloomFinale .finaleCollection,#bloomFinale .finaleReplay{display:grid;place-items:center;width:100%;min-height:50px;padding:12px 18px;border:1px solid #d8b36d;border-radius:9px;font:600 17px/1.3 var(--studioFont,serif);text-align:center;cursor:pointer}
#bloomFinale .finaleCollection{background:linear-gradient(#f6dfaa,#dab66e);color:#352818;box-shadow:0 3px 0 #947040}
#bloomFinale .finaleReplay{background:#173b49;color:#ffeac4}
#bloomFinale .finaleHome{display:grid;place-items:center;min-height:44px;color:#e5ceaa;font-size:14px;text-decoration:underline;text-underline-offset:4px}
#bloomFinale button:focus-visible,#bloomFinale a:focus-visible{outline:3px solid #fff0bb;outline-offset:3px}
@media(max-height:720px){#bloomFinale .finalePage{gap:10px}#bloomFinale .finaleEmblem{font-size:36px}#bloomFinale .finaleGallery img{max-width:80px}#bloomFinale .finaleThanks{line-height:1.55}}
@media(prefers-reduced-motion:reduce){#bloomFinale *{animation:none!important;transition:none!important}}
#bloomFinale #finaleTitle{font:400 clamp(28px,3.8vw,44px)/1.15 var(--studioFont,serif);color:#fff0cf;text-shadow:none;letter-spacing:0}
