/* A cocoa-and-raspberry maison: warm light, satin surfaces, restrained motion. */
.chocolate-upgrade .upgrade-comparison{display:flex;align-items:center;gap:6px;white-space:nowrap;flex-wrap:nowrap}.chocolate-upgrade .upgrade-comparison .coin-price{display:inline-flex;align-items:center}.chocolate-upgrade .upgrade-comparison>span{display:inline-flex;margin:0}.chocolate-upgrade .milestone-note{font-size:.75rem;margin:4px 0;color:var(--gold)}.chocolate-upgrade>div{min-width:0}.chocolate-upgrade .button{flex-shrink:0}.chocolate-upgrade .upgrade-comparison .coin-icon{width:1.15em;height:1.15em}
.production-progress[aria-hidden="true"]{visibility:hidden}.list-station .production-main>.button{width:100px;min-height:46px}.craft-label{white-space:nowrap}.page-content{animation:none!important}
.coin-icon{width:1.35em;height:1.35em;vertical-align:middle;flex-shrink:0;margin-right:.2em;object-fit:contain}.coin-price{display:inline-flex;align-items:center;gap:.1em;white-space:nowrap}.flying-coin{position:absolute;left:0;top:0;width:34px;height:34px;will-change:transform;pointer-events:none;opacity:0;filter:drop-shadow(0 2px 2px #4a2d1430)}.wallet [data-count="coins"]{display:flex;align-items:center;justify-content:flex-end;gap:4px}.progressive-wallet{position:sticky;top:0;z-index:22;background:#20161bed;backdrop-filter:blur(12px);border-radius:16px}.wallet [data-coin-number]{font-variant-numeric:tabular-nums}
.list-station .choc-plinth{background:none;box-shadow:none}.testing-panel>small{display:block;color:var(--muted);margin-top:12px;line-height:1.6}
.rare-mystery-icon{width:42px;height:42px;filter:brightness(0);opacity:.55;vertical-align:middle;margin-right:8px}
.list-station .production-main{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:10px;margin-bottom:0}.list-station .choc-plinth{width:60px;min-width:0}.list-station .production-main .button{padding:10px 12px}.list-station .production-main h3{font-size:1rem;overflow-wrap:anywhere}.chocolate-upgrade{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;margin-top:12px;border-top:1px solid #68444f55}.chocolate-upgrade span,.chocolate-upgrade small{display:block;font-size:.8rem;color:var(--muted)}.chocolate-upgrade small{color:var(--gold);margin-top:4px}.baker-control{width:100%;margin-top:10px}.compact-coach h2{font-size:1.6rem}.compact-coach p{font-size:.95rem}.more-button{min-height:44px!important}.mystery-preview{display:grid;place-items:center;position:relative}.mystery-preview .mystery-chocolate{width:120px;height:120px;filter:brightness(0);opacity:.55}.mystery-preview b{position:absolute;font:2rem Georgia;color:var(--muted)}.earning-mote.coins{font-size:1.2rem}.quest small{line-height:1.7!important}.upgrade-card{gap:12px}.upgrade-card>div{min-width:0}.upgrade-card .button{flex-shrink:0;max-width:45%;overflow-wrap:anywhere}
:root{--bg:#160f12;--panel:#251a1e;--raised:#302127;--ink:#f6eee5;--muted:#bca9ac;--line:#51363f;--berry:#e34868;--gold:#efbd71;--mint:#98ccb0;--ease:cubic-bezier(.2,.75,.25,1);color:var(--ink);background:#100b0e;font-family:ui-rounded,'Segoe UI',system-ui,sans-serif;font-size:16px;color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button,input,select,a{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{transition:transform .18s var(--ease),background .2s,border-color .2s,box-shadow .2s}button:active:not(:disabled){transform:scale(.975)}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}h3{font-size:1rem;font-weight:600;line-height:1.35}p{font-size:.9rem;line-height:1.65;color:var(--muted)}small{font-size:.76rem;line-height:1.5}img{max-width:100%;user-select:none}button img{pointer-events:none}#app{width:min(100%,540px);margin:auto;min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 22px calc(145px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 100% 0,rgba(142,52,74,.16),transparent 38%),var(--bg)}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:.69rem;letter-spacing:.17em;font-weight:700;color:var(--gold);line-height:1.6}.topbar .eyebrow{color:#d68492;font-size:.65rem}.topbar h1{font-size:2.05rem;margin-top:6px}.brand-dot{color:var(--berry)}.maison-number{text-align:right}.maison-number span{display:block;font-size:.6rem;letter-spacing:.12em;color:var(--muted)}.maison-number b{font:1.5rem Georgia,serif;color:var(--gold)}
.wallets{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px}.wallet{position:relative;min-width:0;padding:8px 10px 12px;border:1px solid #51363f99;border-radius:16px;background:linear-gradient(145deg,#36232b66,#21171c);overflow:hidden}.wallet-label{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--muted);white-space:nowrap}.wallet b{font-size:1.4rem;display:block;font-weight:500;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.wallet>span{display:block;margin-top:6px;font-size:.55rem;letter-spacing:.09em;color:#b79d9f}.wallet.stars b{color:var(--gold)}.wallet.wrappers b{color:#d5b1ba}.wallet .info{width:28px;min-width:28px;height:32px}.wallet-glow{animation:wallet-bloom 1s var(--ease)}.info{border:0;background:none;display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;vertical-align:middle;padding:0;color:#d1b3bc}.info span{border:1px solid #ad869470;border-radius:50%;font:italic .72rem Georgia,serif;width:16px;height:16px;line-height:14px}.info:hover span{border-color:var(--gold);color:var(--gold)}
.quest{display:flex;align-items:center;gap:11px;border:1px solid #b98c4530;border-radius:14px;padding:12px;margin-top:12px;background:#c7974010}.quest-seal{font-size:1.5rem;color:var(--gold)}.quest-copy{flex:1;min-width:0}.quest b{font-size:.78rem;font-weight:600}.quest small{display:block;color:var(--muted);font-size:.7rem}.quest .between>span{font-size:.7rem;color:var(--gold);margin-left:6px}.track{height:4px;border-radius:9px;background:#0d090c;overflow:hidden;margin-top:9px}.track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#a6445d,var(--gold));transition:width .12s linear}.between{display:flex;align-items:center;justify-content:space-between;gap:8px}.quest.complete .text-button{white-space:nowrap}
.page-content{animation:page-arrive .4s var(--ease)}.page-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:27px 0 20px}.page-title h2{font-size:1.8rem;line-height:1.12;margin-top:4px}.page-title .eyebrow{font-size:.62rem;color:#b98e9b}.page-intro{margin-top:-8px;margin-bottom:18px;font-size:.85rem}.machine{padding:12px 18px 17px;border:1px solid #78454f55;border-radius:24px;position:relative;background:radial-gradient(ellipse at 50% 45%,#683c2c25,transparent 65%),linear-gradient(135deg,#302025,#23161b);box-shadow:inset 0 1px #fff6e909,0 16px 40px #0002;overflow:hidden}.status{display:flex;align-items:center;gap:7px;color:#ceb7b8;font-size:.76rem}.status i{width:5px;height:5px;border-radius:50%;background:#8c737b;box-shadow:0 0 10px #aa828733}.working .status i{background:var(--mint);box-shadow:0 0 10px #a4debb55}.machine-center{height:164px;display:grid;place-items:center;position:relative}.chocolate{width:68px;height:64px;object-fit:contain;filter:hue-rotate(var(--hue,0deg)) saturate(.9) brightness(1.15);position:relative;z-index:1}.hero-chocolate{width:180px;height:158px;filter:hue-rotate(var(--hue,0deg)) saturate(.88) brightness(1.24) drop-shadow(0 15px 12px #0007);transform:translateY(-2px);transition:transform .8s var(--ease)}.working .hero-chocolate{animation:chocolate-breathe 4s ease-in-out infinite}.aura{position:absolute;width:142px;height:142px;border-radius:50%;background:radial-gradient(circle,#e5ab5930,transparent 68%);filter:blur(12px)}.machine h3{text-align:center;font:1.45rem Georgia,serif}.machine-caption{text-align:center;font-size:.78rem;margin-top:5px}.machine-progress{margin-top:19px}.machine-progress .track{height:5px}.machine-progress .between{margin-top:7px;font-size:.68rem;color:var(--muted)}.machine-progress b{font-size:.72rem;font-weight:500;color:var(--gold);font-variant-numeric:tabular-nums}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:22px 0 12px}.section-title h3{font-size:1rem}.section-title>span{display:flex;align-items:center;font-size:.7rem;color:var(--muted)}.section-title .info{margin:-10px 0}.production-card{border:1px solid #51363f88;border-radius:20px;margin:10px 0;padding:14px;background:linear-gradient(115deg,#2d1e24,#251a1e);box-shadow:inset 0 1px #fff8e907;transition:border-color .35s,box-shadow .35s}.production-card.is-working{border-color:#cb915862;box-shadow:0 0 24px #ba7e3310}.production-main{display:flex;align-items:center;gap:10px;margin-bottom:13px}.choc-plinth{width:70px;min-width:70px;height:67px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 80%,#d9945f20,transparent 65%)}.production-main h3{font-size:1rem;margin:3px 0}.production-main p{font-size:.76rem}.production-main strong{color:var(--gold);font-weight:600}.micro-label{font-size:.59rem;font-weight:600;letter-spacing:.12em;color:#bc929e}.production-actions{display:grid;grid-template-columns:1.45fr 1fr;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;border:1px solid transparent;border-radius:12px;padding:10px 14px;font-size:.85rem;font-weight:600;line-height:1.3;text-align:center}.button.primary{color:#fff5ee;background:linear-gradient(110deg,#bc3b57,#dc5271);box-shadow:inset 0 1px #ffadb22a,0 5px 14px #b92e4d19}.button.primary:hover:not(:disabled){box-shadow:0 5px 24px #b92e4d45}.button.secondary,.button.auto{background:#38262e;border-color:#67434e77;color:#e8cdd2}.button.auto.selected{background:#2f42373d;border-color:#93bc9455;color:#aad1b4}.button.gold{color:#302015;background:linear-gradient(115deg,#deb172,#f0cc96);box-shadow:inset 0 1px #fff7}.button.compact{padding:10px 12px;min-width:75px;flex-shrink:0}.button.full{width:100%;margin-top:14px}.card-foot{font-size:.66rem;color:#b29a9e;margin-top:10px;text-align:center}.text-button{background:none;border:0;min-height:44px;color:var(--gold);font-size:.8rem;padding:8px 0}
.panel,.upgrade-card{padding:18px;border:1px solid #51363f88;border-radius:20px;background:linear-gradient(145deg,#30202788,#21171c);margin:12px 0;box-shadow:inset 0 1px #fff8e906}.panel .section-title{margin:0 0 12px}.panel p{font-size:.85rem;margin-top:7px}.upgrade-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.upgrade-card h3{margin:4px 0}.upgrade-card p{font-size:.8rem}.upgrade-card .micro-label{font-size:.6rem}.supplies{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.supply{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:8px 3px}.ingredient-token{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;border:1px solid #ffe4c81c;background:linear-gradient(130deg,#8a5a3b,#543528);font:1rem Georgia,serif;color:#f9e1bb;box-shadow:inset 0 1px #fff3,0 5px 12px #0002}.tone-1{background:linear-gradient(130deg,#a37b46,#62472e)}.tone-2{background:linear-gradient(130deg,#995568,#632b41)}.tone-3{background:linear-gradient(130deg,#886b4d,#4c4135)}.tone-4{background:linear-gradient(130deg,#548378,#2e5348)}.supply b{font-size:.79rem;font-weight:500}.supply small{font-size:.6rem;color:var(--muted)}.recipe-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #51363f66}.mini-plinth{width:57px;min-width:57px;height:54px;display:grid;place-items:center}.recipe-row h3{font-size:.88rem}.recipe-row p{font-size:.74rem}.availability{margin-left:auto;color:var(--gold)}.mystery{font:2rem Georgia;color:#815c6a}.quiet-note{text-align:center;padding:30px 16px}.quiet-note h3{font:1.35rem Georgia,serif;margin:12px 0 8px}.quiet-note p{font-size:.85rem;margin-bottom:16px}.token{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid #87664666;border-radius:50%;color:var(--gold)}.reveal-banner{width:100%;display:flex;align-items:center;gap:12px;padding:14px;margin-top:13px;border-radius:14px;border:1px solid #b98c4545;background:linear-gradient(90deg,#b88a3718,#6e35471c);font-size:.8rem;color:#edc99b;text-align:left}.reveal-banner>span:last-child{margin-left:auto;font-size:.72rem;white-space:nowrap}.reveal-banner.large{padding:20px}.reveal-banner.large b{display:block}.reveal-banner.large small{display:block;color:var(--muted);margin-top:5px}.reveal-banner.large>span:first-child{font-size:1.8rem}
.expansion-card,.draw-card{padding:22px;border-radius:23px;border:1px solid #b9925755;background:radial-gradient(ellipse at 70% 0,#c18c3e1c,transparent 65%),#2a1c22;box-shadow:0 12px 40px #0002}.pill{font-size:.57rem;letter-spacing:.06em;padding:5px 7px;border-radius:7px;background:#eabd7220;color:var(--gold)}.star-offer{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--gold);margin:24px 0 18px;font-size:2rem}.star-offer b{font:3.5rem Georgia,serif;letter-spacing:-.05em}.star-offer span{font-size:.8rem;max-width:100px;line-height:1.5}.expansion-card>p{text-align:center;font-size:.87rem}.expansion-card>.track{margin-top:20px}.hint{color:var(--muted);font-size:.72rem;line-height:1.6;margin-top:8px}.expansion-card>small{display:block;text-align:center;color:var(--gold);margin-top:12px}.draw-card{text-align:center;background:radial-gradient(ellipse at 50% 22%,#8e526d27,transparent 55%),#291b23}.parcel-mark{font-size:5rem;line-height:1.2;color:var(--gold);text-shadow:0 0 40px #eab56344;margin:25px 0;animation:chocolate-breathe 5s ease-in-out infinite}.draw-card h3{font:1.4rem Georgia,serif}.draw-card p{margin-top:12px;font-size:.78rem}.draw-card>small{display:block;color:var(--muted);margin-top:9px;font-size:.7rem}.pity{padding-top:17px;border-top:1px solid #73505b44;margin-top:20px}.pity-dots{display:flex;justify-content:center;gap:7px}.pity-dots i{width:20px;height:4px;border-radius:2px;background:#664450}.pity-dots i.filled{background:var(--gold)}.pity>span{display:block;font-size:.7rem;color:var(--muted);margin-top:10px}.fragment-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #563a4555;font-size:.8rem}.fragment-row small{display:block;font-size:.65rem;color:var(--muted)}
.bottom-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,540px);padding:7px 16px max(8px,env(safe-area-inset-bottom));background:linear-gradient(#24181df0,#1a1216fc);border-top:1px solid #69434e80;backdrop-filter:blur(18px);z-index:20;box-shadow:0 -8px 32px #0002}.bottom-bar nav{display:grid;grid-template-columns:repeat(4,1fr)}.bottom-bar nav button{background:none;border:0;border-radius:12px;min-height:59px;font-size:.69rem;color:#b79aa4;display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px}.bottom-bar nav button>span{font-size:1.25rem;line-height:1.2}.bottom-bar nav button.active{color:#f28a9e;background:linear-gradient(#b741591a,transparent)}.bottom-bar nav button.active:after{content:'';width:13px;height:2px;border-radius:2px;background:#ef7890}.more-button{width:100%;background:transparent;border:0;border-top:1px solid #68444f33;margin-top:4px;min-height:34px;color:#9d7f8a;font-size:1rem;display:flex;justify-content:center;align-items:center;gap:7px}.more-button span{font-size:.65rem;letter-spacing:.02em}.menu-panel{border:1px solid #65414f66;border-radius:22px;overflow:hidden;background:#2a1c22}.menu-link{display:flex;align-items:center;gap:15px;padding:20px 17px;width:100%;background:none;border:0;border-bottom:1px solid #65414f55;text-align:left}.menu-link:last-child{border:0}.menu-link>span{font-size:1.7rem;color:#d6ad79}.menu-link div{flex:1}.menu-link b{font-weight:500}.menu-link small{display:block;color:var(--muted);margin-top:4px;font-size:.75rem}.menu-link i{color:#bc8e9b;font-style:normal}.quiet-footer{text-align:center;margin:28px 10px;font-size:.78rem;color:#a58391}
.collection-filters{position:sticky;top:0;padding:10px 0;background:#1a1116f5;backdrop-filter:blur(18px);z-index:3;border-bottom:1px solid #65414f44}.filter-chips{display:flex;overflow-x:auto;gap:7px;padding-bottom:7px;scrollbar-width:thin}.filter-chips button{border-radius:99px;white-space:nowrap;border:1px solid #65414f80;background:#2d1e25;min-height:38px;padding:6px 14px;color:var(--muted);font-size:.75rem}.filter-chips button.selected{border-color:#ad6c80;background:#67314555;color:#ffdae1}.filter-selects{display:flex;justify-content:space-between;gap:14px;margin:8px 0}.filter-selects label{font-size:.65rem;display:flex;flex:1;align-items:center;gap:6px;color:var(--muted)}select{min-width:0;width:100%;padding:8px 5px;border:1px solid #76515e55;border-radius:8px;background:#281b22;color:var(--ink);font-size:.72rem;min-height:36px}.check-label{display:flex;gap:6px;align-items:center;font-size:.71rem;color:var(--muted);min-height:34px}input[type=checkbox]{accent-color:var(--berry);width:18px;height:18px}.shelf{position:relative;display:grid;grid-template-columns:138px 1fr;align-items:center;gap:10px;width:100%;min-height:182px;padding:18px 10px 18px 0;background:radial-gradient(ellipse at 20% 60%,#a8724020,transparent 60%),linear-gradient(90deg,#2e1f2411,#321e2733);border:0;border-bottom:1px solid #71475644;text-align:left;border-radius:4px}.shelf:hover{background-color:#62404b13}.shelf-stage{position:relative;display:grid;place-items:center;height:150px}.collection-chocolate{width:136px;height:134px;filter:hue-rotate(var(--hue)) saturate(.9) brightness(1.22) drop-shadow(0 12px 9px #0005);transition:transform .7s var(--ease)}.shelf:hover .collection-chocolate{transform:translateY(-4px) rotate(-2deg)}.glass-edge{position:absolute;bottom:6px;left:3px;right:3px;height:8px;background:linear-gradient(#d0b7b528,#dfc4b960 1px,#815b651a 3px,#1a1117 7px);border-radius:2px;box-shadow:0 8px 14px #0005}.shelf-label{display:flex;flex-direction:column;gap:7px}.shelf-label strong{font:1.22rem Georgia,serif}.shelf-label>span:not(.micro-label){color:var(--muted);font-size:.76rem;line-height:1.6}.shelf-label small{font-size:.65rem;color:#b796a2}.shelf.rare .glass-edge{box-shadow:0 0 17px #b4c5c733,0 7px 12px #0005}.shelf.epic .glass-edge{box-shadow:0 0 22px #cb8cca48,0 7px 12px #0005}.shelf.ultra-rare .glass-edge{box-shadow:0 0 28px #efbd7166,0 7px 12px #0005}.shelf.ultra-rare{background:radial-gradient(ellipse at 20% 60%,#d7a34b20,transparent 60%)}.shelf.epic .micro-label{color:#cca0dc}.shelf.ultra-rare .micro-label{color:var(--gold)}.silhouette{font:3rem Georgia,serif;color:#785564}.settings-panel label{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:5px 0 23px}.settings-panel label:last-child{margin-bottom:4px}.settings-panel small{display:block;color:var(--muted);font-size:.76rem;margin-top:5px}.settings-panel input{flex:0 0 22px;width:22px;height:22px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat-grid .panel{margin:0}.stat-grid span{font-size:.76rem;color:var(--muted)}.stat-grid b{display:block;font:1.9rem Georgia;color:var(--gold);margin-top:10px}.history-row{border-bottom:1px solid #66464f55;padding:12px 0;font-size:.8rem}.history-row b{color:var(--gold)}
dialog{border:1px solid #a16d7855;border-radius:25px 25px 0 0;background:linear-gradient(145deg,#35242c,#21161c);color:var(--ink);width:min(100%,540px);max-width:540px;max-height:90dvh;margin:auto auto 0;padding:20px 25px max(28px,env(safe-area-inset-bottom));box-shadow:0 -10px 80px #0006;overflow:auto}dialog[open]{animation:sheet-arrive .32s var(--ease)}dialog::backdrop{background:#0c080caa;backdrop-filter:blur(5px)}.sheet-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.close{width:44px;height:44px;border-radius:50%;border:1px solid #80606d44;background:#4e33433d;font-size:1.6rem;color:#d5b5c2}.sheet-top .eyebrow{font-size:.62rem;color:#bb8e9c}dialog h2{font-size:2rem;margin:6px 0 17px}dialog p{margin:12px 0}.info-copy{font-size:1rem;line-height:1.8}.tradeoff{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tradeoff section{padding:13px;border:1px solid #79535d66;border-radius:12px;background:#23171c44}.tradeoff h3{font-size:.9rem;color:#dfbfaa}.tradeoff p{font-size:.78rem;line-height:1.7;margin-bottom:0}.permanence-note{padding:12px;background:#dda7470c;border-left:2px solid #d6aa6155;font-size:.8rem}.detail-chocolate{display:block;width:190px;height:165px;margin:0 auto;filter:hue-rotate(var(--hue)) brightness(1.2) drop-shadow(0 13px 10px #0003)}.rarity-label{display:block;text-align:center;font-size:.65rem;letter-spacing:.16em;color:var(--gold);margin:10px 0}.reveal-name{text-align:center;font:1.7rem Georgia,serif}.reveal-sheet p{text-align:center}.detail-facts{display:flex;justify-content:space-between;gap:8px;margin:20px 0}.detail-facts span{display:flex;flex-direction:column;gap:5px;font-size:.7rem;color:var(--muted)}.detail-facts b{color:var(--ink);font-size:.8rem;font-weight:500}.offline-value{font:3rem Georgia,serif;color:var(--gold);margin:20px 0}.discovery-scene{height:200px;position:relative;display:grid;place-items:center}.ingredient-toss{position:absolute;top:0;display:flex;gap:70px;z-index:2;animation:ingredient-toss 1s var(--ease) both}.ingredient-toss span{border:1px solid #c4976144;padding:9px 14px;border-radius:12px;background:#62402e;font-size:.72rem;box-shadow:inset 0 1px #ffd99a33}.mixing-mark{font-size:6rem;color:#a68069;position:absolute;bottom:32px;animation:bowl-fade 1.3s both}.reveal-chocolate{width:190px;height:165px;animation:chocolate-reveal 1.65s var(--ease) both}.reveal-values{display:flex;justify-content:center;gap:17px;color:var(--gold);font-size:.8rem;margin-top:20px}
#effects{position:fixed;inset:0;z-index:50;pointer-events:none;overflow:hidden}.earning-label{position:absolute;color:var(--gold);font:1.35rem Georgia,serif;text-shadow:0 2px 15px #221016;animation:reward-rise 1.45s var(--ease) both;white-space:nowrap}.earning-label.stars{font-size:1.8rem;color:#f8d899}.earning-mote{position:absolute;color:var(--gold);font-size:2.5rem;line-height:1;text-shadow:0 0 12px #efbd71aa;animation:reward-travel 1.05s var(--ease) both}.earning-mote.stars{font-size:1rem}.toast{position:fixed;z-index:60;bottom:140px;left:50%;width:min(calc(100% - 40px),480px);padding:13px 17px;background:#3b2932f7;border:1px solid #a1738066;border-radius:14px;box-shadow:0 10px 30px #0005;color:#f3dfe2;font-size:.82rem;line-height:1.5;transform:translate(-50%,10px);opacity:0;transition:transform .3s var(--ease),opacity .3s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes page-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes sheet-arrive{from{opacity:.3;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes chocolate-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes reward-rise{0%{opacity:0;transform:translate(-50%,0) scale(.9)}15%{opacity:1;transform:translate(-50%,-10px) scale(1)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-62px)}}@keyframes reward-travel{0%{opacity:0;transform:translate(0,0) scale(.5)}15%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}@keyframes wallet-bloom{0%,100%{box-shadow:inset 0 0 0 #efbd7100}30%{box-shadow:inset 0 0 24px #efbd712c;border-color:#bda06c}}@keyframes ingredient-toss{0%{opacity:0;transform:translateY(-15px) scale(.9)}20%{opacity:1}75%{opacity:1;transform:translateY(100px) scale(.8)}100%{opacity:0;transform:translateY(120px) scale(.4)}}@keyframes bowl-fade{0%,70%{opacity:1;transform:rotate(-5deg)}80%{transform:rotate(5deg)}100%{opacity:0}}@keyframes chocolate-reveal{0%,65%{opacity:0;transform:translateY(25px) scale(.75)}100%{opacity:1;transform:none}}
@media(min-width:700px){body{padding:28px 0;background:radial-gradient(ellipse at 50% 0,#36212944,transparent 60%),#100b0e}#app{border:1px solid #6a41494a;border-radius:29px;min-height:calc(100dvh - 56px);box-shadow:0 28px 100px #0004}.bottom-bar{bottom:0;border-left:1px solid #6a41494a;border-right:1px solid #6a41494a}dialog{margin:auto;border-radius:24px;max-height:86dvh}.shelf{min-height:190px}}
@media(max-width:370px){#app{padding-left:14px;padding-right:14px}.wallets{gap:5px}.wallet{padding-left:8px;padding-right:8px}.wallet b{font-size:1.2rem}.wallet-label{font-size:.69rem}.topbar h1{font-size:1.8rem}.shelf{grid-template-columns:112px 1fr}.collection-chocolate{width:110px}.shelf-label strong{font-size:1.12rem}.tradeoff{grid-template-columns:1fr}.production-main p{font-size:.7rem}}
.progressive-wallet{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}.progressive-wallet .wallet:only-child{display:flex;align-items:center;justify-content:space-between;padding:12px 17px}.progressive-wallet .wallet:only-child b{font-size:1.8rem}.progressive-wallet .wallet:only-child .info{width:44px;height:44px}.tutorial-coach{margin:30px 4px 20px}.tutorial-coach h2{font-size:2rem;line-height:1.2;margin:8px 0 13px;max-width:340px}.tutorial-coach p{font-size:1rem;line-height:1.75;max-width:400px}.tutorial-machine{padding:14px 22px 24px}.tutorial-machine .machine-center{height:195px}.tutorial-machine .hero-chocolate{height:180px;width:185px}.tutorial-target{min-height:54px;margin-top:22px!important;box-shadow:0 4px 25px #d34b5d22}.tutorial-target:not(:disabled){animation:inviting-glow 3.5s ease-in-out infinite}.tutorial-footer{text-align:center}.tutorial-footer>span{font-size:.77rem;color:#b69a9d;display:block;padding:8px}.auto-reassurance{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--mint);font-size:.85rem}.auto-reassurance>span{width:6px;height:6px;border-radius:50%;background:var(--mint)}.preview-ribbon{margin:12px 0;border:1px solid #c1985555;border-radius:12px;padding:9px 12px;font-size:.75rem;color:var(--gold);display:flex;gap:10px;align-items:center;justify-content:space-between}.preview-ribbon button{min-height:40px;border:0;background:none;color:var(--gold);text-decoration:underline}.chocolate{border-radius:10px}.supply b{overflow-wrap:anywhere}.supplies{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}@keyframes inviting-glow{0%,100%{box-shadow:0 4px 20px #d34b5d18}50%{box-shadow:0 5px 30px #d34b5d38}}
.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion .ingredient-toss,.reduce-motion .mixing-mark{display:none}.reduce-motion .reveal-chocolate{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ingredient-toss,.mixing-mark{display:none}.reveal-chocolate{opacity:1;transform:none}}
/* Independent stations keep their footprint while chocolates are being made. */
.station-activity{height:1.6rem;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-variant-numeric:tabular-nums}
.station-activity small{font-size:.8rem}
.list-station .production-progress{height:4px;margin:8px 0 0;overflow:hidden}
.list-station .production-progress[aria-hidden="true"]{visibility:hidden;display:block}
.list-station .production-progress i{transition:width .12s linear}
.baker-row{display:flex;gap:10px;align-items:center;margin-top:16px}
.baker-row .button{flex:1;min-height:44px}
.baker-requirements{display:block;margin-top:8px;color:var(--muted)}
.mastery-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid #ffffff0d;font-size:.85rem;color:#e6c68d}
.mastery-strip small{margin-left:auto;color:var(--muted)}
.kitchen-overview{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;font-variant-numeric:tabular-nums}
.kitchen-overview div{display:grid;gap:4px}.kitchen-overview span,.kitchen-overview small{color:var(--muted);font-size:.85rem}
.purchase-options{display:flex;gap:6px;align-items:center;margin-bottom:16px}
.purchase-options button:not(.info){min-width:48px;min-height:44px;border-radius:12px;border:1px solid #ffffff12;background:#ffffff05;color:inherit;font:inherit;cursor:pointer}
.purchase-options button.selected{background:#bb526d33;border-color:#bb526d88;color:#ffe3e9}
.sound-tuning label{display:flex;align-items:center;gap:18px}.sound-tuning input{flex:1;accent-color:#bb526d;min-height:44px;min-width:0}
.sound-preview{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.offline-receipt{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #ffffff0c}.offline-receipt small{display:block;color:var(--muted);margin-top:4px}.offline-receipt b{white-space:nowrap}
.list-station .chocolate-upgrade>div{min-width:0}.list-station .upgrade-comparison{display:flex!important;align-items:center;gap:8px;white-space:nowrap}
.list-station .upgrade-comparison>span{display:inline-flex!important;align-items:center}
@media(max-width:440px){.list-station .chocolate-upgrade{gap:8px}.list-station .chocolate-upgrade>.button{padding:10px;font-size:.8rem}.kitchen-overview{align-items:flex-start}.kitchen-overview small{max-width:100px;text-align:right}}
@media(prefers-reduced-motion:reduce){.list-station .production-progress i{transition:none}}
.compact-header{position:sticky;top:0;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 14px;background:#160f12f5;backdrop-filter:blur(12px)}
.assist-drawer{margin:0 0 14px;border:1px solid #b6815b26;border-radius:18px;background:linear-gradient(145deg,#30212a,#21171b);overflow:hidden}
.drawer-handle{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;background:none;border:0;color:#dec4b2;font:inherit;font-size:.8rem;cursor:pointer}.handle-truffle{width:26px!important;height:26px!important}.drawer-fold{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .35s ease,visibility .35s}.is-open .drawer-fold{grid-template-rows:1fr;visibility:visible}.drawer-interior{min-height:0;overflow:hidden;text-align:center}.drawer-interior p{display:flex;justify-content:center;align-items:center;gap:6px;margin:0}.drawer-interior small{display:block;margin:0 0 18px;color:var(--muted)}
.truffle-clicker{display:block;width:108px;height:94px;margin:0 auto;border:0;background:none;cursor:pointer;touch-action:manipulation;transition:transform .12s ease}.truffle-clicker .chocolate{width:88px;height:86px}.truffle-clicker:active{transform:scale(.94)}.jumping-truffle{position:absolute;left:0;top:0;width:26px;height:26px;object-fit:contain;pointer-events:none;opacity:0;will-change:transform}.quest-action-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:3px;border:1px solid #d5aa6355;border-radius:12px;background:#d6a85b12;cursor:pointer}.quest-assist-icon{width:27px!important;height:27px!important}.quest-name-action{white-space:nowrap}.cycle-picker .purchase-trigger i{font-style:normal;margin-left:4px;color:var(--muted)}
.campaign-coach{margin:16px 0!important}.campaign-coach h2{font-size:1.4rem!important;max-width:none}.campaign-coach p{font-size:.9rem;line-height:1.55}.campaign-coach .button{margin-top:12px}
.discovery-practice{margin:-4px 0 14px;padding:0 14px;color:var(--muted);font-size:.8rem}.discovery-practice .track{height:3px;margin-top:7px}
.pinned-goal{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #eac88a25;border-radius:14px;margin:10px 0}.pinned-goal>div{flex:1;min-width:0}.pinned-goal small,.pinned-goal b,.pinned-goal span{display:block}.pinned-goal small{font-size:.6rem;letter-spacing:.12em;color:var(--muted)}.pinned-goal b{font-size:.85rem;margin:5px 0}.pinned-goal span{font-size:.8rem}.pinned-goal .coin-price{display:inline-flex}.pinned-goal .track{margin-top:7px;height:3px}
.baker-heading{display:flex;align-items:center;gap:14px}.baker-heading .chocolate{width:72px;height:72px}.baker-heading h3{font-size:1.7rem;margin:4px 0}.baker-heading small{color:var(--muted)}.baker-profile blockquote{margin:15px 0;color:#e0bba5;font-style:italic;line-height:1.6}.baker-facts{display:flex;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #ffffff10;font-size:.8rem;color:var(--muted)}.baker-profile .text-button,.tree-node .text-button{margin-left:12px}.tree-node h3{margin-top:9px}.tree-node>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tree-node>small{display:block;margin:10px 0}
.chocolate-details{border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;min-height:30px}.chocolate-details span{font-size:.65rem;color:var(--muted)}.economy-facts{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:.9rem}.economy-facts dd{margin:0;text-align:right;color:var(--gold)}
.journal-entry{display:flex;gap:18px;padding:18px 5px;border-bottom:1px solid #ffffff10}.journal-entry>span{color:var(--gold)}.journal-entry small{display:block;color:var(--muted);margin-top:6px;font-size:.75rem}.showcase-cabinet{border:1px solid #b88d6138;border-radius:18px;background:linear-gradient(#2b2028,#191216);padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.showcase-item{text-align:center;border-bottom:2px solid #d6b28c30;box-shadow:0 9px 12px -12px #efc779}.showcase-item .chocolate{width:100%;max-width:150px;height:130px;object-fit:contain}.showcase-item h3{font-size:1rem}.showcase-item small{color:var(--muted)}.showcase-item .text-button{padding:8px;font-size:.75rem}.showcase-choice{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #ffffff0d;background:none;color:inherit;font:inherit;padding:10px;text-align:left}.showcase-choice .chocolate{width:38px;height:38px}.showcase-choice>span:last-child{margin-left:auto}.finale-panel{border-color:#e2c08855!important}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;flex-wrap:wrap}.form-row input:not([type=checkbox]),.form-row select{min-height:44px;max-width:100%;background:#231920;border:1px solid #78566188;border-radius:9px;color:inherit;padding:8px;font:inherit}.form-row input[type=range]{padding:0;accent-color:#ce7188}.save-slots{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.import-label{display:grid;gap:10px;margin:18px 0}.import-label input{max-width:100%;color:var(--muted)}
.text-large{font-size:18px}.text-largest{font-size:20px}.high-contrast{--muted:#e4ced4;--gold:#ffda92}.high-contrast .panel,.high-contrast .production-card{border-color:#b18e99}.high-contrast .button:disabled{opacity:.65}.high-contrast .button:not(:disabled){outline:1px solid #e9bcc355}
[data-decor=berry] .showcase-cabinet,[data-decor=berry] .shelf{background:linear-gradient(135deg,#30233f,#221a29)}[data-decor=moon] .showcase-cabinet,[data-decor=moon] .shelf{background:linear-gradient(135deg,#252b3d,#1a1c28)}[data-decor=grand] .showcase-cabinet,[data-decor=grand] .shelf{border-color:#d4ae67;background:linear-gradient(135deg,#3d3021,#241b15)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #f3c982;outline-offset:3px}html{overscroll-behavior-y:contain}.tycoon-name h1{overflow-wrap:anywhere}.tycoon-identity{flex:1}.purchase-options{flex-wrap:wrap}
@media(max-width:420px){.showcase-cabinet{padding:12px;gap:12px}.baker-heading h3{font-size:1.4rem}.form-row{align-items:flex-start}.form-row input:not([type=checkbox]),.form-row select{width:100%}.compact-station .station-controls{max-width:78%}}
@media(prefers-reduced-motion:reduce){.drawer-fold,.truffle-clicker{transition:none}.jumping-truffle{display:none}}
.tycoon-identity{min-width:0}.tycoon-identity .eyebrow{font-size:.65rem}.tycoon-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tycoon-name h1{font-size:1.35rem;margin:4px 0;line-height:1.2}
.name-stars{display:inline-flex;align-items:center;gap:4px;color:var(--gold);font-size:.8rem;white-space:nowrap}.name-stars>span{font-size:1.2rem}.name-stars b{font-weight:500}.name-stars .info{width:24px;min-width:24px}
.header-coins{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;margin-left:auto;gap:4px}.header-coins>b{display:flex;align-items:center;gap:3px;font-size:1.3rem;color:var(--gold);font-variant-numeric:tabular-nums}.header-coins .info{width:24px;min-width:24px}
.fixed-tabs{grid-template-columns:repeat(4,1fr)!important}.tab-symbol{position:relative}.bottom-bar .locked-tab{opacity:.4;cursor:not-allowed}.tab-lock{position:absolute;right:-12px;top:-5px;font-size:.7rem!important;line-height:1}.flying-coin{width:28px;height:28px}
.compact-station{padding:12px 14px!important}.compact-station .production-main{margin:0;gap:10px}.compact-station .choc-plinth{width:56px;min-width:56px;height:56px}.compact-station .chocolate{width:56px;height:56px}.compact-station .station-name{flex:1;min-width:0}.compact-station .production-main h3{font-size:.95rem;margin:0 0 5px}.station-numbers{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.compact-station .production-main>.button{width:auto;min-width:76px;flex:0 0 auto;min-height:44px;padding:9px 12px}.compact-station .production-progress{margin:7px 0!important;height:3px!important}
.compact-station-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.station-level{font-size:.8rem;white-space:nowrap;color:var(--muted)}.station-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.station-controls .button{font-size:.76rem;padding:8px 10px;min-height:40px}.baker-hired{font-size:.75rem;color:var(--mint);padding:8px 0}.mastery-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}.mastery-heading .chocolate{width:64px;height:64px}.mastery-heading h3{margin:0}.mastery-heading p{margin:5px 0 0}
@media(max-width:370px){.compact-header{gap:5px}.tycoon-name h1{font-size:1.1rem}.header-coins>b{font-size:1.1rem}.compact-station{padding:10px!important}.station-controls{gap:4px}.station-controls .button{padding:8px 6px}.compact-station .choc-plinth{width:46px;min-width:46px}.compact-station .chocolate{width:46px;height:46px}}

/* Grand Atelier depth: warm narrative cards remain compact enough for a phone. */
.depth-coach{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;align-items:start;padding:18px;border:1px solid #d2a46635;border-radius:20px;background:linear-gradient(135deg,#34232a,#25191e)}
.depth-coach>div{min-width:0}.quest-medallion{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid #e4bc7859;background:radial-gradient(circle at 35% 28%,#ffe4b73a,#8b503b22);color:var(--gold);font:1.1rem Georgia,serif;box-shadow:inset 0 1px #fff3}
.trait-card{display:flex;align-items:center;gap:9px;margin-top:10px;padding:9px 11px;border-radius:12px;background:#d6aa6810;border:1px solid #d6aa681e}.trait-card>span{color:var(--gold)}.trait-card b,.trait-card small{display:block}.trait-card b{font-size:.75rem}.trait-card small{color:var(--muted);font-size:.69rem;margin-top:2px;line-height:1.35}.info+ .trait-card{margin-top:12px}
.depth-reveal-sheet blockquote{color:#eccaa9;font:italic 1rem/1.65 Georgia,serif;margin:16px 0}.legacy-badge{display:inline-flex;margin-top:12px;padding:8px 11px;border:1px solid #e3b46f48;border-radius:999px;color:var(--gold);font-size:.75rem}
.relationship-line{padding:12px 0;margin:12px 0;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d}.relationship-line b,.relationship-line small{display:block}.relationship-line small{color:var(--muted);margin-top:4px}.relationship-2,.relationship-3{border-color:#d4ad6750}.relationship-3{box-shadow:inset 0 0 35px #d4ad6709}
.journal-tabs,.journal-summary,.atelier-memory{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border:1px solid #d5a8662a;border-radius:14px;color:var(--muted);font-size:.75rem}.journal-tabs b{color:var(--gold)}
.quest-ledger{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;padding:16px 4px;border-bottom:1px solid #ffffff0d}.quest-ledger h3{margin:3px 0 5px}.quest-ledger.complete{opacity:.65}.quest-ledger.complete .quest-medallion{border-color:#96c7a055;color:var(--mint)}
.locked-chapter,.chapter-complete{text-align:center;margin:18px 0;padding:20px;border:1px dashed #d3ab6d31;border-radius:17px}.locked-chapter>span,.chapter-complete>span{display:block;color:var(--gold);font-size:1.4rem;margin-bottom:8px}.commission-card{border-color:#d7ad6b4a}.challenge-card .track{margin:13px 0}.challenge-card .between{align-items:flex-end}
.keepsake-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;border:1px solid #d7b07236;border-radius:18px;background:linear-gradient(#2e2227,#1b1417);box-shadow:inset 0 -4px #a1714533}.keepsake{display:flex;align-items:center;gap:8px;min-height:56px;padding:9px;border-bottom:2px solid #e0b8782b}.keepsake i{font-style:normal}.keepsake b{font-size:.72rem;line-height:1.35}.atelier-memory{margin:0 0 10px;justify-content:flex-start;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.atelier-memory span{color:var(--gold)}
@media(max-width:370px){.depth-coach{padding:14px}.keepsake-shelf{grid-template-columns:1fr}.trait-card{padding:8px}.quest-ledger{grid-template-columns:34px minmax(0,1fr)}}

/* Guided opening and the atelier's visible growth. */
.atelier-growth{display:flex;align-items:center;gap:12px;margin:10px 0 12px;padding:11px 14px;border:1px solid #d2a46625;border-radius:15px;background:linear-gradient(120deg,#2b1c22cc,#21171c);box-shadow:inset 0 1px #fff8e908;transition:border-color .45s,background .45s}
.atelier-growth.stage-2,.atelier-growth.stage-3{border-color:#d2a46642;background:linear-gradient(120deg,#34231f,#25191e)}.atelier-growth.stage-4,.atelier-growth.stage-5{border-color:#edc77b66;background:linear-gradient(120deg,#3a2b20,#281c1a);box-shadow:inset 0 1px #fff3,0 8px 24px #0002}
.atelier-lamp{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:50%;color:var(--gold);background:radial-gradient(circle,#f4cb7a34,transparent 68%);animation:atelier-pulse 3.2s ease-in-out infinite}.atelier-growth div:nth-child(2){min-width:0;display:grid}.atelier-growth small{font-size:.58rem;letter-spacing:.14em;color:#aa8e94}.atelier-growth b{font:1rem Georgia,serif;margin:2px 0}.atelier-growth em{font-size:.68rem;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atelier-activity{display:flex!important;gap:4px;margin-left:auto}.atelier-activity i{width:5px;height:5px;border-radius:50%;background:#6b4852}.atelier-activity i.lit{background:var(--gold);box-shadow:0 0 7px #efbd7188}
.tutorial-guide{position:fixed;inset:0;z-index:100;pointer-events:none}.tutorial-dim{position:absolute;inset:0;background:#0906089c;backdrop-filter:blur(1.5px);animation:guide-fade .28s ease both}.tutorial-focus{position:relative!important;z-index:102!important;box-shadow:0 0 0 4px #f2c98055,0 0 32px #f2c98088!important;animation:guide-focus 1.8s ease-in-out infinite!important}
.tutorial-nudge{position:relative;box-shadow:0 0 0 2px #f2c98045,0 0 18px #f2c98035!important;animation:nudge-breathe 2.6s ease-in-out infinite!important}
.guide-popover{position:fixed;z-index:104;left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 28px));display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:17px;border:1px solid #efc97b77;border-radius:20px;background:linear-gradient(145deg,#3c2930,#25191f);box-shadow:0 20px 70px #000a,inset 0 1px #fff2;pointer-events:auto;animation:guide-arrive .34s var(--ease) both}.guide-character{display:grid;place-items:center;width:42px;height:42px;border:1px solid #edc77b66;border-radius:50%;background:#d3a35f18;color:var(--gold);font:1.2rem Georgia,serif}.guide-popover small{color:var(--gold);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.guide-popover h2{font-size:1.45rem;margin:3px 0 7px}.guide-popover p{font-size:.88rem;line-height:1.55}.guide-popover .button{margin-top:10px;min-width:108px;min-height:36px;padding:6px 10px;font-size:.72rem}
.guide-pointer{position:fixed;z-index:103;color:#f0c675;font-size:16px;transform:translateX(-50%) rotate(45deg);text-shadow:0 0 15px #efbd71;animation:pointer-bob 1.1s ease-in-out infinite}.guide-pointer.up{transform:translateX(-50%) rotate(225deg)}.replay-guidance{display:flex;align-items:center;gap:5px;margin:8px auto 22px;padding:5px 9px;min-height:32px;border:1px solid #80596966;border-radius:999px;background:#2b1c22;color:var(--muted);font-size:.68rem}.replay-guidance span{display:grid;place-items:center;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;font-size:.6rem}.milestone-note{color:#f1c777!important}
.milestone-celebration{text-align:center;padding:12px 4px 4px}.milestone-celebration>span{display:block;color:var(--gold);font-size:2.4rem;text-shadow:0 0 28px #efbd7188;animation:atelier-pulse 1.6s ease-in-out infinite}.milestone-celebration h3{font:1.45rem Georgia,serif;margin:10px 0 7px}.milestone-celebration b{display:block;color:var(--gold);font:2.3rem Georgia,serif}.milestone-celebration p{margin-top:8px}
@keyframes guide-fade{from{opacity:0}to{opacity:1}}@keyframes guide-arrive{from{opacity:0;transform:translate(-50%,8px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes guide-focus{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}@keyframes nudge-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.06)}}@keyframes pointer-bob{0%,100%{margin-top:0}50%{margin-top:5px}}@keyframes atelier-pulse{0%,100%{opacity:.75;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}
@media(max-width:370px){.guide-popover{grid-template-columns:34px minmax(0,1fr);padding:14px}.guide-character{width:34px;height:34px}.guide-popover h2{font-size:1.25rem}.atelier-growth{padding:10px}.atelier-activity{display:none!important}}
@media(prefers-reduced-motion:reduce){.tutorial-focus,.guide-pointer,.atelier-lamp{animation:none!important}}

/* A tactile three-order board, visually quieter than the story quest. */
.quest-board{display:grid;gap:12px}.board-card{position:relative;padding:18px;border:1px solid #76504466;border-radius:16px;background:linear-gradient(135deg,#342620,#261b19);box-shadow:inset 0 1px #fff1,0 10px 24px #0002;overflow:hidden}.board-card:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent,#f5c97908,transparent);transform:translateX(-100%);pointer-events:none}.board-card.ready{border-color:#dfb66b88}.board-card.ready:before{animation:board-sheen 3.5s ease-in-out infinite}.board-card h3{font:1.2rem Georgia,serif;margin:5px 0 6px}.board-card p{font-size:.82rem;line-height:1.5}.board-card .track{height:5px;margin:14px 0 9px}.board-card .between{align-items:center}.board-card .between>small{color:var(--muted);font-variant-numeric:tabular-nums}.board-card .button{min-width:132px}.board-pin{position:absolute;right:13px;top:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid #e0b46a55;background:#1b1214;color:var(--gold);font:.72rem Georgia,serif}
.purchase-options{padding:3px;border-radius:14px;background:#100a0d66}.purchase-options button:not(.info){flex:1;min-width:42px;font-size:.76rem}.purchase-options .info{width:36px;min-width:36px}.compact-station{transition:border-color .25s ease,box-shadow .25s ease,transform .18s ease}.compact-station:focus-within{border-color:#d19d6b55}.bottom-bar nav button,.more-button{transition:color .2s ease,background .2s ease,transform .16s ease}.bottom-bar nav button:active:not(:disabled),.more-button:active{transform:translateY(1px)}
.purchase-picker{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:9px 10px;border:1px solid #60404a55;border-radius:14px;background:#100a0d55}.purchase-picker>span{color:var(--muted);font-size:.75rem}.purchase-picker>div:nth-child(2){display:flex;align-items:center}.purchase-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:98px;min-height:40px;padding:7px 11px;border:1px solid #8b5d6977;border-radius:10px;background:#38242c;color:var(--ink);font-weight:650}.purchase-trigger i{font-style:normal;color:var(--gold);transition:transform .2s}.purchase-trigger[aria-expanded=true] i{transform:rotate(180deg)}.purchase-menu{position:absolute;z-index:30;right:8px;top:calc(100% - 4px);width:min(250px,calc(100vw - 44px));display:grid;padding:6px;border:1px solid #9a6d786e;border-radius:14px;background:#2d1e25f7;box-shadow:0 18px 45px #0008;backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-5px) scale(.98);transform-origin:top right;transition:opacity .18s,transform .18s,visibility .18s}.purchase-menu.open{opacity:1;visibility:visible;transform:none}.purchase-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;padding:8px 10px;border:0;border-radius:9px;background:transparent;text-align:left;color:var(--ink)}.purchase-menu button:hover,.purchase-menu button.selected{background:#a94b6530;color:#ffdce4}.purchase-menu small{color:var(--muted);font-size:.65rem;font-weight:400}
@keyframes board-sheen{0%,55%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}
