/* Game shell: a live miniature, carved controls and one settings entry. */
#game-menu{position:absolute;inset:0;z-index:30;overflow:hidden;color:#61462d;background:radial-gradient(ellipse at 68% 38%,#fff4d3 0%,#eef0cd55 42%,transparent 65%),linear-gradient(165deg,#bed9cf,#e6e8bd 62%,#b5c28c);font-family:DM,sans-serif}
#app.home{height:100svh;min-height:100svh}.home .header{display:none}#journey{display:none!important}
.ui-icon{display:block;flex:0 0 auto;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.game-top{position:absolute;z-index:5;inset:24px 32px auto;display:flex;align-items:flex-start;justify-content:space-between}
.wood-round,.wood-button,.play-button{display:flex;align-items:center;justify-content:center;gap:12px;border:3px solid #fff0ce;border-radius:19px;background:linear-gradient(#ebc894,#c79860);color:#684627;box-shadow:0 5px 0 #8e663f,0 10px 20px #5c634325,inset 0 2px 0 #fff8;cursor:pointer;font-weight:700;line-height:1.2;transition:transform .15s,filter .15s,box-shadow .15s}
.wood-round{width:54px;height:54px;padding:0}.wood-round .ui-icon{width:26px;height:26px}.wood-button{padding:14px 22px;font-size:15px;min-height:54px}.wood-button .ui-icon{width:21px;height:21px}
.play-button{min-height:72px;padding:17px 30px;background:linear-gradient(#b2cc7d,#809e50);border-color:#edf4cc;color:#fffce9;box-shadow:0 6px 0 #536d36,0 13px 25px #49623628,inset 0 2px 0 #f8ffdcb3;text-shadow:0 2px #617b3e;font-size:25px;letter-spacing:.2px}
.play-button .ui-icon{width:28px;height:28px}.play-button span{display:block;margin:0;font-size:inherit}
.wood-round:hover,.wood-button:hover,.play-button:hover{filter:brightness(1.06);transform:translateY(-2px)}.wood-round:active,.wood-button:active,.play-button:active{transform:translateY(4px);box-shadow:0 1px 0 #88623d}
#game-menu button:focus-visible,.cozy-dialog button:focus-visible{outline:3px solid #526d3c;outline-offset:6px}
.coin-pouch{min-width:147px;padding:9px 24px;background:#fff0ce;border:2px solid #b98d53;border-radius:27px;text-align:center;font-size:24px;font-weight:700;box-shadow:0 4px 0 #a38151;color:#644e32}
.coin-pouch small{display:block;font-size:9px;font-weight:400;color:#856d4a;margin-top:4px}.coin-icon{display:inline-grid;vertical-align:1px;place-items:center;width:24px;height:24px;border:3px solid #d59b35;border-radius:50%;background:#f4d278;color:#d59b35;font-size:12px;box-shadow:inset 0 1px #ffedb3}
.title-art{position:absolute;inset:10% 0 5% 33%;pointer-events:none}.intro-canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 24px 15px #6373441c)}
.title-content{position:absolute;z-index:3;left:7%;top:50%;width:310px;transform:translateY(-48%);text-align:center}
.title-content h1{font-family:'Arial Black',DM,sans-serif;font-weight:900;font-size:clamp(72px,6.5vw,106px);line-height:.88;letter-spacing:-5px;max-width:none;margin:17px 0 26px;color:#fff1c6;-webkit-text-stroke:5px #9e784b;paint-order:stroke fill;text-shadow:0 6px 0 #9e784b,0 11px 0 #c89f64,0 14px 18px #69754330;transform:rotate(-5deg)}
.title-content h1 span{display:block;color:#d7e9a8}.title-content p{font-size:12px;line-height:1.6;color:#7c7958;margin:28px -15px}.title-spark{font-size:21px;color:#b39252;letter-spacing:5px}
.title-content .play-button{width:100%;margin:26px auto 19px}.title-content .wood-button{width:85%;margin:0 auto}.title-footer{position:absolute;bottom:25px;left:0;right:0;text-align:center;font-size:10px;color:#6d7c52;letter-spacing:.3px}
.menu-cloud{position:absolute;width:320px;height:95px;background:#fffce978;filter:blur(20px);border-radius:50%;pointer-events:none}.cloud-a{left:-5%;top:10%;transform:rotate(-12deg)}.cloud-b{right:-6%;top:6%;width:400px}
.menu-hills{position:absolute;left:-20%;bottom:-28%;width:145%;height:45%;background:#8ca26645;border-radius:50%;box-shadow:160px -40px 0 #afbf7c26;pointer-events:none}
.house-picker{position:absolute;inset:115px 6% 22px;text-align:center;display:flex;flex-direction:column;align-items:center}.picker-heading small{font-size:10px;letter-spacing:2px;color:#7a8663}.picker-heading h2{font:38px Serif,serif;margin:10px 0 0;color:#655339}
.house-stage{position:relative;display:flex;align-items:center;justify-content:space-between;max-width:850px;width:100%;flex:1;min-height:0}.house-stage img{height:100%;max-height:390px;max-width:80%;object-fit:contain;filter:drop-shadow(0 18px 14px #5f6e3a30)}.house-stage img.locked-house{filter:saturate(.3) opacity(.72) drop-shadow(0 18px 14px #5f6e3a30)}
.house-lock{position:absolute;left:50%;top:50%;color:#fff1c5;background:#907349dd;border:3px solid #f2d7a5;border-radius:22px;padding:15px 20px;transform:translate(-50%,-50%)}.house-lock svg{width:34px;height:34px;stroke-width:2.4}
.house-actions small{color:#6d7855;font-size:10px}.house-actions .play-button{font-size:18px;min-height:58px;min-width:290px;margin:13px auto}.house-actions .ui-icon{width:22px;height:22px}.house-actions p{min-height:16px;margin:8px 0;font-size:11px;color:#776847}
.house-progress{position:relative;background:#c5c69e;border:2px solid #eaf0d0;border-radius:12px;width:155px;height:12px;margin:8px auto 25px;box-shadow:inset 0 1px #8b996e}.house-progress i{display:block;background:#8ca65b;height:100%;border-radius:8px}.house-progress span{position:absolute;top:14px;left:0;right:0;font-size:9px;color:#69784d;font-weight:700}
.house-dots{display:flex;gap:8px;padding-top:10px;flex-wrap:wrap;justify-content:center}.house-dots button{width:36px;height:36px;background:#d7cdb0;color:#827153;border:2px solid #f8e6bf;border-radius:12px;font-weight:700;box-shadow:0 3px #a39879}.house-dots button.owned{background:#9eb575;color:#fffde2}.house-dots button.active{background:#e7bd6c;color:#67482c;transform:translateY(-4px);border-color:#fff7d2}
.cozy-dialog{border:5px solid #a77a47;border-radius:30px;background:#f4e8cc;color:#685037;padding:30px;width:min(390px,90vw);box-shadow:0 8px 0 #765838,0 30px 90px #18261660;max-height:88svh;overflow:auto}.cozy-dialog::backdrop{background:#263428aa;backdrop-filter:blur(5px)}
.cozy-dialog h2{display:flex;align-items:center;justify-content:center;gap:10px;font:28px Serif,serif;text-align:center;margin:10px 0 25px}.cozy-dialog label{display:block;font-weight:700;font-size:13px;margin:23px 0}.cozy-dialog label>.ui-icon{display:inline-block;vertical-align:middle;margin-right:6px;width:19px;height:19px}.cozy-dialog input,.cozy-dialog select{display:block;width:100%;margin-top:14px;accent-color:#7f9d55;min-height:32px}.cozy-dialog select{background:#fff8e6;color:#6a553a;border:2px solid #c9b086;border-radius:12px;padding:10px;font:inherit}
.wood-close{display:grid;place-items:center;position:absolute;right:12px;top:10px;background:#b67b53;color:#fff4db;width:32px;height:32px;border-radius:50%;padding:0}.wood-close .ui-icon{width:18px;height:18px}.cozy-dialog .wood-button{font-size:13px;margin:16px auto}.cozy-dialog .play-button{font-size:18px;min-height:58px;width:100%;margin:20px auto}.text-button{background:none;color:#6c674e;padding:13px;font-size:13px;display:block;margin:auto}
.cozy-dialog input[type=range]{appearance:none;height:12px;min-height:12px;border-radius:10px;border:2px solid #c0a67c;background:#d8c7a4;box-shadow:inset 0 2px 3px #81623a33;cursor:pointer}.cozy-dialog input[type=range]::-webkit-slider-thumb{appearance:none;width:27px;height:27px;border:3px solid #e4edbc;border-radius:50%;background:linear-gradient(#b4cb82,#7c9953);box-shadow:0 3px #627b40}.cozy-dialog input[type=range]::-moz-range-thumb{width:22px;height:22px;border:3px solid #e4edbc;border-radius:50%;background:#93ae65;box-shadow:0 3px #627b40}
/* Explicit day/night colors prevent menu styles from leaking into the HUD. */
#scene{bottom:40px}#scene-caption{bottom:48px}.playing #scene{bottom:198px}.story-panel{top:19%}
.circle-button{border-radius:12px;background:#fff3d7;color:#685537;box-shadow:0 3px #c8b18c;display:grid;place-items:center;padding:0}.circle-button .ui-icon{width:19px;height:19px}.primary-button{border-bottom:4px solid #4f633c;border-radius:14px}.material{border:2px solid #d4c6a8;box-shadow:0 3px #c7b796}.material.selected{border-color:#7a9554;box-shadow:0 3px #667f42}
.header-center{padding:8px 17px;border:2px solid #d4b276;border-radius:24px;background:#fff0cc;color:#846126;font-weight:700;font-size:16px;letter-spacing:0}
#app.night .circle-button{color:#f4e8c8;background:#465168;border-color:#8997ae;box-shadow:0 3px #202d43}#app.night .circle-button:hover{background:#586680}#app.night .header-center{background:#465168;color:#f6df9d;border-color:#a6956b;box-shadow:0 2px #253147}#app.night .worlds-button{background:#465168;color:#f3e9cf;border-color:#8997ae}#app.night .material{box-shadow:0 3px #202d43}#app.night .material.selected{box-shadow:0 3px #30452e}
.photo-back-button{display:none;position:absolute;z-index:15;left:4%;top:115px;align-items:center;gap:8px;padding:12px 17px;border:1px solid #c6bda0;border-radius:14px;background:#fff3d9;color:#645033;box-shadow:0 3px #b4a183;font-size:12px}.photo-back-button .ui-icon{width:18px;height:18px}.photo .photo-back-button{display:flex}.photo .photo-title{top:180px}.photo.clean-photo .photo-back-button,.home .photo-back-button{display:none}#app.night .photo-back-button,#app.night #return-ui{background:#465168;color:#f4e8c8;border-color:#8997ae;box-shadow:0 3px #202d43}
@media(max-width:1100px) and (min-width:701px){.title-content{left:5%;width:270px}.title-content h1{font-size:77px}.title-art{left:32%}.title-content .play-button{font-size:22px}.title-content p{font-size:10px}.title-content .wood-button{font-size:13px}.picker-heading h2{font-size:32px}}
@media(max-width:700px){
 #app{min-height:100svh}.game-top{inset:16px 20px auto}.wood-round{width:44px;height:44px;border-radius:15px}.wood-round .ui-icon{width:22px;height:22px}.coin-pouch{min-width:135px;padding:7px 16px;font-size:20px}.coin-pouch small{font-size:8px}.coin-icon{width:20px;height:20px;font-size:9px}
 .title-content{display:contents}.title-spark{display:none}.title-content h1{position:absolute;top:14%;left:0;right:0;font-size:66px;line-height:.9;margin:0;text-align:center;letter-spacing:-3px;-webkit-text-stroke:4px #9e784b}.title-content p{position:absolute;top:calc(14% + 130px);left:0;right:0;margin:0;text-align:center;font-size:10px}
 .title-art{inset:max(31%,calc(14% + 155px)) -4% 185px}.title-content .play-button{position:absolute;left:50%;bottom:103px;transform:translateX(-50%);width:260px;min-height:62px;margin:0;font-size:22px}.title-content .wood-button{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);width:230px;min-height:50px;margin:0;font-size:13px}.title-content .play-button:active,.title-content .wood-button:active{transform:translate(-50%,4px)}.title-footer{display:none}
 .house-picker{inset:98px 4% 18px}.picker-heading h2{font-size:27px}.picker-heading small{font-size:8px;letter-spacing:1px}.house-stage img{max-width:76%;max-height:300px}.house-actions .play-button{min-width:260px;font-size:16px;min-height:52px;padding:12px 20px}.house-actions small{font-size:9px}.house-actions p{font-size:10px;max-width:310px}.house-dots{gap:7px;max-width:300px}.house-dots button{width:35px;height:32px}.playing #scene{bottom:238px}
 .photo-back-button{top:90px;left:4%;font-size:11px;padding:10px 13px}.photo .photo-title{top:141px}.photo-title strong{font-size:20px}.photo .view-controls{top:140px}.photo #scene{top:175px}
}
@media(max-height:700px) and (max-width:700px){.title-content h1{top:13%;font-size:54px}.title-content p{top:calc(13% + 108px)}.title-art{top:30%;bottom:170px}.title-content .play-button{bottom:90px;min-height:57px}.title-content .wood-button{bottom:25px;min-height:48px}.house-picker{inset:88px 4% 12px}.house-stage img{max-height:200px}.house-progress{margin:3px auto 20px}}
@media(max-height:520px) and (min-width:701px){.title-content{top:52%;width:250px}.title-content h1{font-size:62px;margin:0 0 20px}.title-spark{display:none}.title-content p{margin:18px 0}.title-content .play-button{margin:17px auto 15px;min-height:56px;font-size:20px;padding:12px}.title-content .wood-button{min-height:44px;padding:10px}.title-footer{display:none}.title-art{inset:15% 1% 0 34%}.house-picker{inset:83px 7% 12px}.picker-heading h2{font-size:23px}.house-stage img{max-height:150px}.house-actions .play-button{min-height:44px;margin:6px auto;padding:10px}.house-progress{display:none}.house-dots{padding-top:4px}}
/* Keep the title and the miniature in one centered composition on wide monitors. */
@media(min-width:1101px){.title-content{left:calc(50% - 565px);width:310px}.title-art{left:calc(50% - 270px);right:auto;width:865px;top:12%;bottom:7%}}
@media(min-width:1101px) and (max-width:1250px){.title-content{left:5%}.title-art{left:32%;width:68%}}
.view-controls{left:4%;right:auto;top:50%;transform:translateY(-50%);z-index:7}.view-controls button{display:grid;place-items:center;padding:0}.view-controls .ui-icon{width:20px;height:20px}.view-controls>span{display:block}.view-controls #peek{display:none}.playing .view-controls #peek{display:grid}.view-controls #peek[aria-pressed=true]{background:#dce7c8;color:#496134}.photo .view-controls{left:4%;right:auto;top:auto;bottom:25px;transform:none}.photo.panel-hidden .view-controls{left:4%;right:auto}
#scene-caption{display:flex;align-items:center;justify-content:center;gap:8px}#scene-caption .ui-icon{width:19px;height:19px}.sun-icon{display:grid;place-items:center}.sun-icon .ui-icon{width:18px;height:18px}#atmosphere-symbol{display:grid;place-items:center}.circle-button .ui-icon{width:19px;height:19px}.worlds-button .ui-icon{width:17px;height:17px}.material img{width:52px;height:42px;object-fit:contain}.material-name{white-space:nowrap}.material-status{margin-top:1px}.playing .view-controls{top:auto;bottom:215px;transform:none}.playing .story-panel{pointer-events:none}
#app.night .view-controls #peek[aria-pressed=true]{background:#627a57;color:#f3ebcf}
@media(max-width:700px){.view-controls{left:4%;right:auto}.playing .view-controls{bottom:245px}.photo .view-controls{top:180px;bottom:auto;left:4%;right:auto}#scene-caption{gap:5px}.view-controls .ui-icon{width:17px;height:17px}.material img{width:46px;height:37px}}
@media(min-width:701px){.story-panel,.playing .story-panel{left:calc(4% + 64px)}}
@media(max-width:700px){.playing .view-controls{top:300px;bottom:auto}.playing .view-controls button{width:27px;height:27px}}
@media(max-height:700px) and (max-width:700px){.playing .view-controls{top:270px;gap:0;padding:2px}.playing .view-controls button{width:24px;height:24px}.playing .view-controls .ui-icon{width:15px;height:15px}}
