/* Shared financial-literacy UI for Peblet Home, Account, Village and job rewards. */
button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #266e82;outline-offset:3px}

/* Peblet Home shop */
.home-money{justify-self:end;display:flex;align-items:center;gap:8px}.spend-pill{display:flex;align-items:center;gap:5px;padding:9px 12px;border-radius:999px;background:rgba(255,249,229,.94);color:#694b30;font-size:11px;font-weight:1000}.spend-pill strong{font-size:17px}.option-label{display:block;line-height:1.15}.price-badge,.owned-badge{position:absolute;right:5px;top:5px;padding:3px 6px;border-radius:999px;font-size:9px;font-weight:1000}.price-badge{background:#f0bd50;color:#5f441d;box-shadow:0 2px 0 #c68a2f}.owned-badge{background:#72a87d;color:white}.option.shop-locked{background:#eee4d3;color:#735f4f}.option.shop-locked img{opacity:.72}.option.shop-locked:before{content:"🔒";position:absolute;z-index:2;left:6px;top:5px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:white;font-size:12px;box-shadow:0 2px 5px rgba(50,35,20,.2)}.saved-message[data-tone="warning"]{background:#b66c35}.purchase-dialog,.goal-dialog{width:min(430px,92vw);max-height:92vh;overflow:auto;padding:28px;border:5px solid #d1ae70;border-radius:28px;text-align:center;color:#3c3530;background:#fffaf0;box-shadow:0 22px 70px rgba(44,29,19,.45)}.purchase-dialog::backdrop,.goal-dialog::backdrop{background:rgba(45,31,23,.65);backdrop-filter:blur(4px)}.purchase-dialog>img{width:150px;height:120px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(54,34,22,.22))}.dialog-eyebrow{margin:0;color:#977157;font-size:10px;letter-spacing:.14em;font-weight:1000}.purchase-dialog h2,.goal-dialog h2{margin:4px 0 8px;font-size:30px}.purchase-balance{display:flex;justify-content:space-between;align-items:center;margin:16px 0;padding:13px 16px;border:3px solid #edca88;border-radius:16px;background:#fff0ce}.purchase-balance strong{font-size:28px}.purchase-shortfall{padding:10px;border-radius:12px;background:#ffe2df;color:#a33f4d;font-weight:900}.save-safe,.choice-reminder{padding:10px;border-radius:12px;background:#e4f2ee;color:#456a62;font-size:12px;font-weight:900}.purchase-actions,.goal-dialog-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:16px}.purchase-actions button,.goal-dialog-actions button{min-height:48px;padding:10px;border:0;border-radius:999px;font-weight:1000;cursor:pointer}.purchase-actions button:first-child,.goal-dialog-actions button:first-child{background:#eee6d8;color:#705b4b}.purchase-actions button:last-child,.goal-dialog-actions button:last-child{background:#ef7188;color:white;box-shadow:0 4px 0 #bb4d61}.purchase-actions button:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}

/* Account goals and activity */
.claim-goal{margin-top:14px;padding:12px 17px;border:0;border-radius:999px;background:#ef7188;color:white;box-shadow:0 4px 0 #bc4d62;font-weight:1000;cursor:pointer}.claim-goal:disabled{background:#ded2e7;color:#746b7a;box-shadow:none;cursor:not-allowed}.active-goal.goal-ready{border-color:#e9b840;box-shadow:0 0 0 5px rgba(241,194,71,.25)}.active-goal.goal-complete{background:linear-gradient(120deg,#e5f5ea,#d2ecdc);border-color:#78b48a}.goal-option.completed{border-color:#76ad84;background:#eef9f0}.completed-panel,.activity-panel{margin:25px clamp(15px,3vw,32px) 0;padding:clamp(20px,4vw,32px);border-radius:28px;background:#fffaf0;border:3px solid #e5d6b8;box-shadow:0 7px 0 #d8c5a2}.completed-panel{display:flex;align-items:center;justify-content:space-between;gap:24px}.completed-panel[hidden]{display:none}.completed-panel h2,.activity-panel h2{margin:0;font-size:27px}.completed-goal-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.completed-goal-list>span{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:16px;background:#e8f5ea;border:2px solid #9dc8a7}.completed-goal-list i{font-style:normal;font-size:25px}.completed-goal-list strong{font-size:12px}.activity-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}.activity-heading>p{max-width:430px;margin:0;color:#697675;font-size:13px}.activity-list{display:grid;gap:9px}.activity-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#f5f4ed;border:2px solid #e2ded0}.activity-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:white;font-size:22px}.activity-item div{display:grid;gap:3px}.activity-item small{color:#6b7875}.activity-item>b{font-size:18px}.activity-item>b.positive{color:#357a58}.activity-item>b.negative{color:#a75562}.empty-activity{display:grid;place-items:center;padding:25px;border:2px dashed #cfc7b8;border-radius:18px;text-align:center;color:#6e7774}.empty-activity>span{font-size:35px}.empty-activity p{margin:3px 0}.goal-dialog-emoji{font-size:58px}.account-message{position:fixed;z-index:30;left:50%;bottom:24px;padding:13px 20px;border-radius:999px;background:#3e7b58;color:white;font-weight:1000;opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:.2s}.account-message.show{opacity:1;transform:translate(-50%,0)}

/* Personalised village journey */
.topbar-home-link{display:inline-flex;align-items:center;min-height:42px;padding:9px 13px;border:2px solid #d9bd82;border-radius:999px;background:#fff0c9;box-shadow:0 3px 0 #b99455;color:#5b432e;text-decoration:none;font-size:11px;font-weight:1000;white-space:nowrap}.topbar-home-link:hover,.topbar-home-link:focus-visible{filter:brightness(1.07);transform:translateY(-2px)}
.player-pill{flex-wrap:wrap;max-width:260px}.player-pill i{font-style:normal;font-size:10px;color:#62736d}.goal-quest{position:absolute;z-index:8;left:3%;top:4%;width:min(250px,25vw);display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:12px;border:3px solid rgba(255,255,255,.8);border-radius:20px;background:rgba(255,250,235,.92);box-shadow:0 7px 0 rgba(74,111,80,.25);color:#40584e;text-decoration:none;transition:.18s}.goal-quest:hover,.goal-quest:focus-visible{transform:translateY(-4px)}.goal-quest>span{font-size:35px}.goal-quest div{min-width:0;display:grid;gap:3px}.goal-quest small{font-size:8px;letter-spacing:.1em;color:#7b887f;font-weight:1000}.goal-quest strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-quest em{font-style:normal;font-size:10px;color:#617168}.quest-track{height:8px;border-radius:99px;background:#e1d7c3;overflow:hidden}.quest-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#77b49a,#ef7890);transition:width .4s ease}.shift-count{position:absolute;z-index:7;left:50%;bottom:-72px;transform:translateX(-50%);width:max-content;max-width:180px;padding:4px 9px;border-radius:999px;background:#4e7d68;color:white;font-size:9px;font-weight:1000;pointer-events:none}.village-job .shift-count{bottom:-65px}.village-friends{gap:clamp(2px,.5vw,8px)!important}.village-friends>img{width:16%!important}.village-player{position:relative;flex:0 0 28%;height:170px;animation:playerBounce 3.4s ease-in-out infinite;filter:drop-shadow(0 8px 5px rgba(45,76,49,.28))}.village-player>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain;filter:none!important;animation:none!important}.village-player .village-accessory{display:none;inset:auto!important;height:auto!important;z-index:3}.village-player .village-accessory.behind{z-index:1}.village-player .village-accessory.visible{display:block}.village-player #village-player-image{z-index:2}.village-player>strong{position:absolute;z-index:5;left:50%;bottom:-4px;transform:translateX(-50%);padding:5px 12px;border-radius:999px;background:#fff8e8;border:2px solid #d0b77e;white-space:nowrap;font-size:10px}.village-player #pet-buddy{position:absolute;z-index:6;right:-5px;bottom:6px;font-size:34px;filter:drop-shadow(0 3px 2px rgba(40,60,45,.25));animation:petHop 2.4s ease-in-out infinite}@keyframes playerBounce{50%{transform:translateY(-7px) scale(1.015)}}@keyframes petHop{50%{transform:translateY(-8px) rotate(5deg)}}

/* Reward feedback and controls */
.reward-celebrate{animation:rewardPop .42s cubic-bezier(.2,.9,.25,1.25)}@keyframes rewardPop{50%{transform:scale(1.025)}}.reward-slider input:focus-visible,.save-slider input:focus-visible{outline:4px solid #266e82;outline-offset:5px}

@media(max-width:820px){.home-money{gap:4px}.spend-pill{padding:7px 9px;font-size:9px}.spend-pill strong{font-size:14px}.completed-panel,.activity-heading{align-items:flex-start;flex-direction:column}.completed-goal-list{justify-content:flex-start}.goal-quest{top:14%;left:50%;width:min(330px,88vw);transform:translateX(-50%)}.goal-quest:hover,.goal-quest:focus-visible{transform:translateX(-50%) translateY(-3px)}.village-player{height:125px}.shift-count{display:none}}
@media(max-width:560px){.home-money .spend-pill{font-size:0;width:42px;height:42px;display:grid;grid-template-columns:auto auto;place-content:center}.home-money .spend-pill:before{content:"🪁";font-size:15px}.home-money .spend-pill strong{font-size:14px}.purchase-actions,.goal-dialog-actions{grid-template-columns:1fr}.activity-item{grid-template-columns:auto 1fr}.activity-item>b{grid-column:2}.goal-quest{top:13%}.village-player{flex-basis:32%;height:112px}.village-friends>img{width:15%!important}.topbar-home-link{width:42px;min-width:42px;height:42px;padding:0;justify-content:center;overflow:hidden;font-size:0}.topbar-home-link::before{content:"🏡";font-size:19px}}
@media(max-width:820px) and (max-height:650px){.home-world{min-height:690px;overflow-y:auto}.room{bottom:315px}.wardrobe{height:300px;min-height:300px}.character-stage{width:min(55vh,360px);height:min(55vh,360px)}}
@media(orientation:landscape) and (max-height:500px){.home-world{min-height:600px;overflow-y:auto}.home-header{position:sticky;top:0}.room{inset:65px 48% 0 0}.wardrobe{top:75px;left:auto;right:8px;bottom:auto;width:46%;height:510px;min-height:510px}.options{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;grid-template-rows:none;overflow:auto}.character-stage{width:min(54vw,420px);height:min(54vw,420px)}}
.order-bubble>div{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.account-message,.goal-quest,.quest-track i,.menu-item,.service,.home-building,.village-job{transition:none}.village-player,.village-player #pet-buddy,.reward-celebrate,.correct-pop,.over,.tray-piece{animation:none!important}}
