/* Antique textile art direction, based on the user's illustrated flower-game reference. */
:root{--paper:#eee0c7;--ink:#63472d;--accent:#934b35;--gold:#b28b4e}
body{background:#eee0c7 url('assets/antique-garden-cloth.webp') center/cover fixed!important;color:var(--ink)}
#game-hub{background:#eee0c7 url('assets/antique-garden-cloth.webp') center/cover fixed!important}.map-screen{background:#eee0c7 url('assets/antique-garden-cloth.webp') center/cover!important}.tree-scroll{background:transparent}.tree-path,#tree-path{background:transparent!important}.season-art{opacity:.65}.map-header{background:linear-gradient(#f5ead6e8,#eee0c7b8);box-shadow:none;border-bottom:1px solid #a3844d45}.map-bottom{background:#eee0c7ed;border-color:#a3844d60;box-shadow:0 -2px 16px #67432210}.map-header h1{color:#68492b;text-shadow:0 1px #fff6df}.map-node.current{filter:drop-shadow(0 0 7px #a76c37aa)!important}
.hub-card{background:#f8ecd2d9;border-color:#b7955d;box-shadow:0 4px 0 #b2956b,0 8px 18px #57351422}.hub-picture{filter:sepia(.12) saturate(.85)}.hub-action,.primary{background:linear-gradient(#a36343,#89462f)!important;color:#fff0d2!important;border-color:#6c3e27!important;box-shadow:0 3px 0 #653b25,inset 0 1px 0 #e5b58260}.hub-lang.language-picker{background:#efe0c3e6;border-color:#ab8c5d}.language-picker select{background:transparent}
.game{max-width:600px;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));gap:6px}.game header{min-height:48px;gap:10px}.game header h2{font-size:22px;color:#6c452a;text-shadow:0 1px #fff6df}.level-heading>small{color:#977346;letter-spacing:3px}.header-actions{gap:10px}.game>.status{color:#8d6d44;font-size:11px;padding:0 5px}.game>.progress{height:2px;background:#b89a5a40}.game>.progress i{background:#a8793a}
.icon-button,.header-actions .icon-button{border:0;border-radius:10px;background:transparent url('assets/antique-tile.webp') center/100% 100% no-repeat;box-shadow:none;width:42px;height:42px;min-width:42px;padding:10px 10px 13px;color:#865b34}.icon-button svg{stroke-width:1.7;filter:drop-shadow(0 1px #fff0ce)}.wallet{color:#755125}.wallet>span{color:#ae7c2f;text-shadow:0 1px #fff0bc,0 2px 1px #8b5b2b44}.wallet b{font-size:16px}
.coach:not(.teaching){display:none}.coach.teaching{min-height:68px;border:0;border-block:1px solid #b4925e88;border-radius:0;background:linear-gradient(90deg,#e8d1a018,#fff4d59c 30%,#f9edcfb3 70%,#e8d1a018);box-shadow:inset 0 1px #fff5dc80;padding:9px 12px}.coach.teaching small{font-size:10px;color:#93703e;letter-spacing:1px}.coach.teaching p{font-size:14px;color:#704b2e;line-height:1.5}#skip-guide{color:#967448;font-family:Georgia,'Songti SC',serif}
.game>.board{background:none;border-radius:0;margin:auto;overflow:visible}
.flower-card,.tile.flower-card{border:0;border-radius:13%;padding:0;background:transparent url('assets/antique-tile.webp') center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 2px 1px #5735162b)}
.tile.flower-card>img,.slot .held-card.flower-card>img,.flying.flower-card>img,.match-ghost.flower-card>img{position:absolute;inset:auto;left:9%;top:6%;width:82%;height:80%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:none;object-fit:contain;mix-blend-mode:multiply;animation:none}
.tile.flower-card.covered{filter:brightness(.78) saturate(.82) drop-shadow(0 2px 1px #5735162b)}.tile.flower-card:active:not(:disabled){transform:translateY(-2px);box-shadow:none;filter:drop-shadow(0 5px 3px #57351644)}.flying.flower-card,.match-ghost.flower-card{filter:drop-shadow(0 6px 4px #57351640)}.flying.flower-card:after{inset:12% 0 18% -12%;background:linear-gradient(90deg,#f5d38b00,#f5d38b44);filter:blur(6px)}
.game>.tray-label{font-size:14px;color:#82603a;line-height:1.3;margin:0 7px -2px}.tray-label small{font-size:11px;letter-spacing:2px;color:#9c7a49}.game>.tray{position:relative;min-height:clamp(72px,20vw,118px);align-items:center;overflow:visible;border:0;border-radius:0;background:transparent url('assets/antique-tray.webp') center/100% 100% no-repeat;box-shadow:0 7px 8px -7px #5d341d99;gap:3px;padding:clamp(12px,3.2vw,18px) clamp(16px,4.3vw,27px) clamp(18px,4.8vw,28px)}
.slot{align-self:center;aspect-ratio:1;border:1px solid #9d7a494d;border-radius:13%;background:linear-gradient(135deg,#dcc4a235,#f4e4c033);box-shadow:inset 1px 2px 4px #6e431f24,0 1px #fff1cf66;overflow:visible}.slot:not([data-held]):after{content:'❀';position:absolute;inset:0;display:grid;place-items:center;font:clamp(18px,5.5vw,32px) Georgia,serif;color:#b598684d;text-shadow:0 1px #fff5da66;pointer-events:none}.held-card{inset:-1px;filter:drop-shadow(0 2px 1px #57351640)}.tray.danger{box-shadow:0 0 0 1px #a24d3444,0 6px 12px -5px #9a3d2d66}
.game>footer{gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;padding:10px 3px 2px;min-height:96px}.game footer .tool{width:min(100%,86px);height:auto;aspect-ratio:1;min-height:0;padding:0;border:0;border-radius:0;box-shadow:none;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 3px 2px #51301644)}
.game footer #hint{background-image:url('assets/antique-tool-hint.webp')}.game footer #shuffle{background-image:url('assets/antique-tool-shuffle.webp')}.game footer #undo{background-image:url('assets/antique-tool-undo.webp')}.game footer #extra{background-image:url('assets/antique-tool-extra.webp')}.game footer .tool>svg{display:none}.game footer .tool.unavailable{opacity:.42;filter:sepia(.18) saturate(.65) drop-shadow(0 2px 1px #51301633)}.game footer .tool:active:not(:disabled){transform:translateY(2px) scale(.97);box-shadow:none}.game footer .tool b{right:0;bottom:0;min-width:24px;height:24px;border:1px solid #c69559;border-radius:50%;padding:1px 4px;background:radial-gradient(circle at 30% 25%,#c85a46,#a02e22 80%);color:#fff1d5;font:15px/1 Georgia,serif;box-shadow:inset 0 1px 1px #f2b08d66,0 2px 2px #58301955;text-shadow:0 1px #6c291a}.game footer .tool b:has(+.tool-caption){letter-spacing:-.4px}.tool-caption{font-family:Georgia,'Songti SC',serif!important}.tool:hover .tool-caption,.tool:focus-visible .tool-caption{background:#6f472b;color:#ffedc8;border:1px solid #bb935a;box-shadow:0 3px 8px #51301633}
.tile.guide-target{outline:2px solid #bd9147!important;outline-offset:2px;animation:antique-tile-glow 1.3s ease-in-out infinite}.game footer .tool.guide-target{outline:none!important;animation:antique-tool-glow 1.3s ease-in-out infinite}.guide-target:after{right:-3px;bottom:-22px;font-size:29px}.game footer .tool.guide-target:after{right:20px;bottom:-15px}
dialog{border:1px solid #8d6035;border-radius:6px;background:#f2e4c9 url('assets/antique-garden-cloth.webp') center/cover;color:#704b2e;box-shadow:0 0 0 3px #b48d56,0 0 0 5px #80583177,0 14px 45px #40291888}dialog::backdrop{background:#39271688;backdrop-filter:blur(2px)}dialog h2{color:#734629;text-shadow:0 1px #fff1d0}dialog.won{background:#f2e4c9 url('assets/antique-garden-cloth.webp') center/cover;box-shadow:0 0 0 3px #b48d56,0 0 0 5px #80583177,0 14px 45px #40291888}dialog .primary{border-radius:5px;font-size:21px}.coin-reward{border-color:#b7915388;border-radius:5px;background:#edd7a866;box-shadow:inset 0 0 12px #bc93551a}.rescue-tools button{background:#ead6b2;border-color:#b08b56;border-radius:5px}.settings-toggles label,.menu-row{border-color:#a67d4c44}.settings-toggles input{accent-color:#925536}.flower-poem p{color:#704b2e}.flower-poem cite{color:#9a794d}.restart{color:#947244;border-color:#b69763}.primary:focus-visible,.tool:focus-visible,.icon-button:focus-visible{outline:2px solid #9a4b30;outline-offset:4px}
@keyframes antique-tile-glow{50%{outline-color:#e6bf75;filter:drop-shadow(0 0 6px #d1a24888)}}@keyframes antique-tool-glow{50%{filter:drop-shadow(0 0 7px #d4a044cc) brightness(1.06)}}
@media(min-width:851px){body{background-size:auto 100vh!important;background-repeat:repeat-x!important}.game{padding-top:20px;max-width:600px}.game>footer{padding-top:14px;min-height:110px}.game footer .tool{width:96px;max-width:100%}.game footer .tool b{min-width:27px;height:27px;font-size:16px}.game>.tray{min-height:117px}}
@media(max-height:740px){.game{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom));gap:4px}.game header{min-height:42px}.game header h2{font-size:20px}.coach.teaching{min-height:63px;padding:7px 10px}.coach.teaching p{font-size:13px}.game>footer{padding-top:8px;min-height:81px}.game footer .tool{width:min(100%,76px)}.game>.tray{min-height:70px;padding-top:11px;padding-bottom:17px}}
@media(max-width:380px){.header-actions{gap:6px}.game header{gap:7px}.game>footer{gap:6px;padding-inline:0}.game footer .tool b{right:0;bottom:0;min-width:22px;height:22px;font-size:13px}.wallet b{font-size:14px}.icon-button,.header-actions .icon-button{width:38px;min-width:38px;height:38px;padding:9px 9px 12px}.game>.tray{padding-left:14px;padding-right:14px;gap:2px}}
@media(prefers-reduced-motion:reduce){.tile.guide-target,.game footer .tool.guide-target{animation:none!important}}
/* Let the illustrated cloth remain visible through the play surface and map. */
main{background:transparent;box-shadow:none}
#map-screen .tree-scroll{background:transparent!important}
.map-header{background:linear-gradient(#f5ead6ed,#eee0c7bf)!important}
.map-bottom{background:#eee0c7ed!important}
.hub-inner{color:#6d482e}.hub-inner>h1{color:#71492b;text-shadow:0 1px #fff1ce}.hub-inner>small,.hub-foot{color:#977044;text-shadow:none}.hub-intro{color:#815e3d;text-shadow:none}
/* Season flowers remain a quiet printed layer rather than enlarging over the long map. */
.map-screen .season-art{background-size:100% auto;background-repeat:repeat-y;opacity:.18}
/* Keep illustrated controls steady during the brief pick/convergence lock. */
.game footer .tool{opacity:1}
.game footer .tool.unavailable{opacity:.42}
/* One square-hole copper coin across balances, rewards, prices and the collection flight. */
.cash-coin{display:inline-block;flex:none;width:28px;height:28px;background:transparent url('assets/antique-cash-coin.webp') center/contain no-repeat;vertical-align:middle;font-size:0!important;text-shadow:none!important;pointer-events:none}
.wallet>.cash-coin{width:28px;height:28px;line-height:1}
.coin-reward>.cash-coin{width:48px;height:48px}
.shop-balance{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.shop-balance>.cash-coin{width:26px;height:26px}
.coin-flight.cash-coin{width:30px;height:30px;margin:-15px 0 0 -15px;filter:drop-shadow(0 2px 1px #57351640)}
.game footer .tool b.paid-price{display:inline-flex;justify-content:center;align-items:center;gap:2px;width:auto;min-width:36px;border-radius:14px;padding:1px 4px;font-size:11px}
.game footer .tool b.paid-price:before{content:'';display:block;flex:none;width:13px;height:13px;background:url('assets/antique-cash-coin.webp') center/contain no-repeat}
@media(max-width:380px){.wallet>.cash-coin{width:24px;height:24px}}
