.friend-alert{position:fixed;z-index:12000;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(360px,calc(100% - 24px));display:flex;gap:12px;padding:14px 16px;background:#fffdf3;color:#254f40;border:2px solid #91ac87;border-radius:18px;box-shadow:0 7px 25px #17352b30;font:15px/1.35 system-ui;animation:friend-arrive .25s ease-out}.friend-alert>span{font-size:34px}.friend-alert>div{flex:1}.friend-alert strong{font-weight:800}.friend-alert p{margin:3px 0 10px;font:inherit}.friend-alert button,.friend-alert a{display:inline-flex;justify-content:center;align-items:center;padding:8px 12px;min-height:42px;border:0;border-radius:9px;background:#315f4e;color:#fffdf5;font:700 14px system-ui;text-decoration:none;cursor:pointer}.friend-alert div>div{display:flex;gap:8px}.friend-alert button:last-child{background:#e9edde;color:#315343}.friend-alert button:disabled{opacity:.6}.friend-alert button:focus-visible,.friend-alert a:focus-visible{outline:3px solid #b18731;outline-offset:3px}@keyframes friend-arrive{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.friend-alert{animation:none}}.release-notice{box-sizing:border-box;width:min(540px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:26px;border:1px solid #9cb29a;border-radius:22px;background:#fffbed;color:#234d40;font:16px/1.55 system-ui;box-shadow:0 18px 80px #102e3950}.release-notice::backdrop{background:#14372a85}.release-notice h2{font:30px/1.15 Georgia;margin:10px 0 18px}.release-notice p{color:inherit}.release-notice ul{padding-left:22px}.release-notice li{margin:9px 0}.release-notice .release-notice-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em}.release-notice button{display:block;width:100%;min-height:48px;background:#315f4e;color:#fffbed;border:0;border-radius:12px;padding:13px;font:700 17px system-ui;cursor:pointer}.release-notice button:focus-visible{outline:3px solid #be882e;outline-offset:3px}@media(max-width:480px){.release-notice{padding:20px;font-size:15px}.release-notice h2{font-size:26px}}.player-level{display:flex;align-items:center;gap:16px;padding:17px;border:1px solid #b8c9ac;background:#eef2e4;border-radius:18px;color:#244e40;margin:18px 0;font:16px system-ui}.player-level>div:nth-child(2){flex:1;min-width:0}.player-level strong,.player-level small{display:block}.player-level a{color:inherit;font-weight:700}.level-medal{background:#315f4e;border:3px solid #d9bd77;color:#fff5d8;border-radius:18px 18px 28px 28px;min-width:55px;padding:10px;text-align:center;font:700 27px Georgia}.player-level progress,.journey-gifts progress{display:block;width:100%;height:10px;margin:10px 0;accent-color:#a57426;border:0;border-radius:10px;overflow:hidden}.player-level progress::-webkit-progress-bar,.journey-gifts progress::-webkit-progress-bar{background:#d7dfcd}.player-level progress::-webkit-progress-value,.journey-gifts progress::-webkit-progress-value{background:#b8842c}.player-level small{font-size:12px}.journey-gifts{background:#f2f3e4;border:1px solid #bfccb2;border-radius:20px;padding:22px;margin:20px 0;color:#284c40;font:16px/1.6 system-ui}.journey-gifts h3,.reward-completion h3{font:28px/1.2 Georgia;margin:10px 0}.journey-gifts button,.reward-completion button,.reward-star-pop button{background:#efd08a;color:#244d40;border:1px solid #b99858;min-height:46px;border-radius:12px;padding:12px 20px;font:700 16px system-ui;margin:12px 8px 4px 0;cursor:pointer}.journey-gifts details{margin-top:15px;font-size:14px}.journey-gifts summary{cursor:pointer}.journey-gifts ul{max-height:220px;overflow:auto}.reward-eyebrow{font:800 11px system-ui;letter-spacing:.13em}.gift-reveal{text-align:center;background:radial-gradient(ellipse at top,#fff2b9,transparent 78%);animation:reward-arrive .6s ease-out;padding:15px}.gift-reveal svg{width:180px;height:200px}.reward-completion{padding:18px 0;color:#244e40}.reward-gains{display:flex;gap:12px;margin:18px 0}.reward-gains b{padding:15px;background:#e6edda;border-radius:14px;flex:1;font:700 22px system-ui}.reward-star-pop[open]{display:block;text-align:center;background:#204d40;color:#fff4d0;border:2px solid #d4b371;border-radius:26px;padding:35px 24px;max-width:min(440px,calc(100vw - 32px));box-shadow:0 20px 100px #152e3280;animation:reward-arrive .25s ease-out}.reward-star-pop::backdrop{background:#16362bbd}.reward-star-pop h2{color:#fff4d0;font:32px Georgia}.reward-stars{color:#f5cf6c;font-size:60px;letter-spacing:8px;animation:reward-arrive .4s ease-out}.reward-star-pop p{color:#edf1d9}.reward-preview-banner{padding:12px 18px;background:#244e40;color:#fff8dc;text-align:center;font:14px/1.5 system-ui}.reward-preview-banner a{color:inherit;text-decoration:underline}@keyframes reward-arrive{0%{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.gift-reveal,.reward-star-pop[open],.reward-stars{animation:none}}@media(max-width:480px){.player-level{gap:10px;padding:12px;flex-wrap:wrap}.player-level a{font-size:13px}.journey-gifts{padding:16px}.reward-stars{font-size:48px}}.armor-finish-label{text-transform:capitalize}.prestige-choice p{font-size:14px;line-height:1.5}.prestige-choice button{min-height:44px;padding:12px;border-radius:10px;background:#efd08a;border:1px solid #b99858;color:#244d40;font-weight:700}.gift-reveal svg{display:block;margin:0 auto}.milestone-earned{margin:16px 0;padding:16px;border:1px solid #bd9956;border-radius:14px;background:#fff0c9;color:#294d42}.milestone-earned p{margin:6px 0}.milestone-earned a{color:inherit;font-weight:700}.player-records{border:1px solid #b8c9ac;border-radius:16px;padding:18px;margin:18px 0;background:#f3f4e8;color:#294d42;font:14px/1.6 system-ui}.player-records summary{cursor:pointer;font-weight:700;min-height:30px}.player-records dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-records dl>div{padding:12px;background:#fffdf3;border-radius:10px}.player-records dt{font-size:12px}.player-records dd{font-weight:700;font-size:24px;margin:4px 0 0}.gift-light-total{display:block;font-size:12px;margin:4px 0}.gift-opening{position:relative;isolation:isolate;overflow:hidden;min-height:180px;text-align:center;border-radius:16px;padding:18px;background:#fff7dd}.gift-opening svg{position:relative;width:110px;height:110px;animation:gift-glow .8s ease-out}.gift-light-beam{position:absolute;inset:-70% 10% -15%;background:conic-gradient(from 160deg at 50% 0%,transparent,#ffe598b3,transparent 45deg);animation:gift-glow .8s ease-out}.gift-opening p{position:relative;font-weight:600}.gift-reveal:focus{outline:2px solid #af873d;outline-offset:4px;border-radius:14px}.journey-gifts button:disabled{opacity:.65;cursor:wait}@keyframes gift-glow{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.gift-opening svg,.gift-light-beam{animation:none}}.gift-reveal .gift-wear-button[aria-pressed=true]{opacity:1;background:#2e6053;color:#fff;border:2px solid #1f493d}.gift-reveal .gift-equipped-confirmation{font-weight:700;color:#245344;margin:10px 0}.journey-gifts button.gift-ready-button,.passage-finish .journey-gifts button.gift-ready-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:68px;padding:16px 20px;background:linear-gradient(125deg,#ffe8a2,#efc768);color:#294c3d;border:2px solid #a77d27;border-radius:16px;font-size:20px;font-weight:850;box-shadow:0 4px #b99345,0 0 20px #efd48765;animation:gift-ready-glow 1.5s ease-in-out 3}.gift-ready-button>span{font-size:32px}@keyframes gift-ready-glow{50%{box-shadow:0 4px #b99345,0 0 28px #eec35ab0;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.journey-gifts button.gift-ready-button,.passage-finish .journey-gifts button.gift-ready-button{animation:none}}.gift-help{padding:12px 14px;border:1px solid #c79855;border-radius:12px;background:#fff2d8;color:#573c20;font-weight:650;line-height:1.5}.passage-finish.passage-finish{box-sizing:border-box;width:100%;max-width:760px;margin:0 auto;padding:clamp(16px,4vw,32px);border:1px solid #bdcbb7;border-radius:22px;background:#fffdf3;color:#244d45;font:16px/1.6 system-ui,sans-serif;text-align:left;overflow-wrap:anywhere}.passage-finish.passage-finish *{box-sizing:border-box}.passage-finish.passage-finish .pf-heading{display:block;margin:0 0 22px;padding:0;background:none;border:0;text-align:left}.passage-finish.passage-finish .pf-eyebrow{font-size:12px;font-weight:700;letter-spacing:1px;color:#527669}.passage-finish.passage-finish .pf-heading h2{font:500 clamp(26px,5vw,36px)/1.2 Georgia,serif;margin:10px 0;scroll-margin-top:20px;color:#244d45}.passage-finish.passage-finish .pf-heading p{font-size:15px;margin:0;color:#527066}.passage-finish.passage-finish .pf-summary{padding:16px;border-radius:12px;background:#edf2e5;margin:0 0 20px}.passage-finish.passage-finish h3{font:700 15px/1.4 system-ui,sans-serif;margin:0 0 8px;color:#244d45}.passage-finish.passage-finish p{font:inherit;margin:0}.passage-finish.passage-finish .pf-scripture h3{font-size:13px;color:#527066}.passage-finish.passage-finish blockquote{font:400 clamp(19px,4vw,24px)/1.6 Georgia,serif;color:#244d45;border:0;border-left:3px solid #d6b56b;padding:0 0 0 16px;margin:12px 0 24px;text-align:left}.passage-finish.passage-finish .pf-question>h3{font-size:20px;margin:0 0 14px}.passage-finish.passage-finish .pf-answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.passage-finish.passage-finish button,.passage-finish.passage-finish .pf-actions a{font:700 16px/1.4 system-ui,sans-serif;border:1px solid #b7c9b0;border-radius:12px;background:#fffdf3;color:#244d45;padding:14px;min-height:52px;cursor:pointer;box-shadow:none;letter-spacing:normal;text-transform:none;touch-action:manipulation;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.passage-finish.passage-finish button:focus-visible,.passage-finish.passage-finish a:focus-visible{outline:3px solid #b78624;outline-offset:3px}.passage-finish.passage-finish .pf-answers button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%}.passage-finish.passage-finish .pf-answers small{font-size:12px}.passage-finish.passage-finish .pf-answers button:disabled{opacity:1;cursor:default}.passage-finish.passage-finish .pf-answers .pf-wrong{background:#fbe7e1;border-color:#bc5149;color:#87302b}.passage-finish.passage-finish .pf-answers .pf-correct{background:#dfefd9;border-color:#548252;color:#295327}.passage-finish.passage-finish .pf-feedback{font-size:14px;margin:12px 0 0;min-height:23px}.passage-finish.passage-finish .pf-results{border-top:1px solid #dbe2d1;padding-top:16px;margin-top:18px}.passage-finish.passage-finish .pf-actions{position:sticky;bottom:0;z-index:3;background:#fffdf3;padding:12px 0 max(4px,env(safe-area-inset-bottom));margin-top:14px;border-top:1px solid #dbe2d1}.passage-finish.passage-finish .pf-actions .pf-next{width:100%;background:#315d4c;border-color:#315d4c;color:#fffdf3;font-size:18px}.passage-finish.passage-finish .pf-actions>div{display:flex;gap:10px;margin-top:8px}.passage-finish.passage-finish .pf-actions>div>*{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:14px;padding:10px}.passage-finish.passage-finish .pf-results .stars{font-size:24px;color:#947021;margin:0}.passage-finish.passage-finish .puzzle-result{margin:0;padding:0;border:0}@media(max-width:360px){.passage-finish.passage-finish .pf-answers{grid-template-columns:1fr}.passage-finish.passage-finish{padding:14px}.passage-finish.passage-finish .pf-actions>div{gap:6px}}.passage-finish.passage-finish .pf-listen{font-size:13px;padding:8px 12px;min-height:44px;margin-top:12px;background:transparent;font-weight:600}.passage-finish.passage-finish .pf-heading{margin-bottom:12px}.passage-finish.passage-finish .pf-scripture blockquote{font-size:19px;line-height:1.5;color:#536b61;margin-bottom:18px}.passage-finish.passage-finish .pf-reading{scroll-margin-block:16px}.passage-finish.passage-finish .pf-summary{border:1px solid #c2d0b6;background:#e7efdd;margin-bottom:16px}.passage-finish.passage-finish .pf-summary .pf-eyebrow{font-size:11px;line-height:1.4;margin-bottom:8px;font-weight:800;color:#42604d}.passage-finish.passage-finish .pf-summary h2{font:700 23px/1.25 system-ui,sans-serif;margin:0 0 10px}.passage-finish.passage-finish .pf-summary>p:not(.pf-eyebrow){font-size:18px;line-height:1.55}@media(max-width:600px){.passage-finish.passage-finish .pf-summary{padding:14px}.passage-finish.passage-finish .pf-summary h2{font-size:21px}.passage-finish.passage-finish .pf-summary>p:not(.pf-eyebrow){font-size:17px;line-height:1.5}.passage-finish.passage-finish .pf-question>h3{font-size:19px;margin-bottom:10px}.passage-finish.passage-finish .pf-answers button{padding:12px 8px}}.passage-finish.passage-finish .pf-scripture{background:#fcf7e8;border-left:3px solid #bd944c;border-radius:0 12px 12px 0;padding:14px 16px;margin:0 0 18px}.passage-finish.passage-finish .pf-scripture h3{color:#6e5524;font-size:12px;font-weight:750;letter-spacing:.04em}.passage-finish.passage-finish .pf-scripture blockquote{border:0;padding:0;margin:10px 0 0;color:#294e43;font-size:21px;line-height:1.5}.round-star-pop{position:fixed;z-index:70;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(340px,calc(100vw - 28px));box-sizing:border-box;display:grid;justify-items:center;gap:4px;padding:12px 18px 14px;border:1px solid #d6b56b;border-radius:20px;background:#fff9e7;box-shadow:0 8px 28px #244d4530;color:#244d45;font-family:system-ui,sans-serif;pointer-events:none;animation:round-pop-in .3s ease-out}.round-star-pop>div{display:flex;gap:10px;font-size:44px;line-height:1.15;color:#c8c4b5}.round-star-pop .earned{color:#b67a10;display:inline-block;animation:round-star-in .45s ease-out both}.round-star-pop strong{font-size:21px}.round-star-pop small{font-size:12px;text-align:center}@keyframes round-pop-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}@keyframes round-star-in{0%{opacity:0;transform:scale(.6)}65%{transform:scale(1.16)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.round-star-pop,.round-star-pop .earned{animation:none}}.round-star-pop.stars-calm,.round-star-pop.stars-calm .earned{animation:none}.passage-finish.passage-finish .pf-summary{background:#fffdf5;border:2px solid #acbd9b;border-left:5px solid #557954;box-shadow:0 2px 8px #244d4508}.passage-finish.passage-finish .pf-summary>p:not(.pf-eyebrow){color:#17382d;font-weight:550;font-size:19px;line-height:1.6}.passage-finish.passage-finish .pf-summary h2{color:#17382d}.passage-finish.passage-finish .pf-summary .pf-eyebrow{color:#365336;font-size:12px}.passage-finish.passage-finish .pf-question{padding:14px;border:2px solid #ceb574;border-radius:14px;background:#fff6df}.passage-finish.passage-finish .pf-answer-label{font:800 11px/1.4 system-ui;letter-spacing:.06em;color:#665020;margin:0 0 8px}.passage-finish.passage-finish .pf-answers button{border:2px solid #879e7c;background:#fffef8}@media(max-width:600px){.passage-finish.passage-finish .pf-summary>p:not(.pf-eyebrow){font-size:18px}.passage-finish.passage-finish .pf-question{padding:12px}}.passage-finish.passage-finish .pf-reading{background:#f2f6eb;border:2px solid #acbd9b;border-left:5px solid #557954;border-radius:14px;overflow:hidden}.passage-finish.passage-finish .pf-summary{background:transparent;border:0;border-radius:0;box-shadow:none;margin:0;padding:16px 16px 12px}.passage-finish.passage-finish .pf-question{background:transparent;border:0;border-top:1px solid #c5d2ba;border-radius:0;margin:0 16px;padding:16px 0}.passage-finish.passage-finish .pf-answer-label{color:#365336}.passage-finish.passage-finish .pf-scripture{background:transparent;border-left:3px solid #bd944c;border-radius:0;padding:4px 16px 10px}@media(max-width:600px){.passage-finish.passage-finish .pf-summary{padding:14px 12px 12px}.passage-finish.passage-finish .pf-question{margin:0 12px;padding:14px 0}}.equipment-unlocked{padding:18px;border:2px solid #a78238;border-radius:16px;background:#fff2bf;color:#244e40;margin-bottom:18px;text-align:center}.equipment-unlocked strong{font-size:21px}.equipment-unlocked p{font-weight:750;margin:8px 0}.equipment-unlocked span{font-size:14px}.passage-finish.passage-finish .pf-listen{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:13px 14px;border:2px solid #b48630;background:#fff0bc;color:#344526;text-align:left;box-shadow:0 3px #b4863033;font-size:16px}.passage-finish.passage-finish .pf-listen:hover{background:#ffe89b}.passage-finish.passage-finish .pf-listen[aria-pressed=true]{background:#e4efd9;border-color:#52754c}.passage-finish.passage-finish .pf-listen strong{display:block;font-size:16px}.passage-finish.passage-finish .pf-listen small{display:block;font-size:12px;font-weight:500;line-height:1.4;margin-top:3px}.passage-finish.passage-finish .pf-listen-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#315d4c;color:#fffdf3;font-size:17px}.pf-retry{display:block;margin-top:8px;font-size:15px;font-weight:700}.passage-finish .pf-answers button:disabled{cursor:default}.passage-finish.passage-finish .pf-answers .pf-answer-hint{position:relative;border:2px solid #2e7740;background:#dcedd4;color:#204d2b;overflow:hidden}.passage-finish.passage-finish .pf-answer-hint small{font-size:14px;font-weight:800}.pf-countdown{display:block;width:100%;height:5px;background:#b2d0a8;border-radius:6px;overflow:hidden}.pf-countdown>span{display:block;height:100%;background:#367d45;transition:width .15s linear}.passage-finish.passage-finish .pf-answer-hint:disabled{cursor:wait}.faith-wink{position:fixed;z-index:45;top:calc(10px + env(safe-area-inset-top,0px));right:12px;width:min(340px,calc(100vw - 24px));min-height:94px;display:flex;align-items:center;gap:7px;padding:9px 43px 9px 7px;border:1px solid #d8c89d;border-radius:20px;background:#fffcf2;box-shadow:0 8px 25px #142e3924;color:#345447;font-family:system-ui,sans-serif;pointer-events:none;animation:wink-arrive .7s ease-out}.wink-illustration{width:76px;height:80px;flex-shrink:0;overflow:hidden;border-radius:16px;background:#f2eedf}.wink-illustration svg{width:100%;height:100%}.wink-copy small{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.wink-copy p{font-size:16px;line-height:1.3;margin:4px 0}.wink-copy span{font-size:10px;color:#6d7461}.wink-dismiss{position:absolute;top:0;right:0;width:44px;height:44px;padding:0;border:0;background:transparent;color:#64745e;font-size:24px;cursor:pointer;pointer-events:auto}.wink-dismiss:focus-visible{outline:2px solid #856329;border-radius:12px}.wink-hand{transform-origin:88px 103px;animation:wink-wave 1.1s ease-in-out 3}.wink-wing{transform-origin:65px 65px;animation:wink-flap 1.1s ease-in-out 3}.wink-cardinal .wink-illustration{animation:wink-bird-arrive 3.5s ease-out}.wink-twinkle{animation:wink-shimmer 2s ease-in-out 3}.wink-calm,.wink-calm *{animation:none!important}@keyframes wink-arrive{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes wink-wave{50%{transform:rotate(-15deg)}}@keyframes wink-flap{50%{transform:rotate(18deg)}}@keyframes wink-shimmer{50%{opacity:.35}}@keyframes wink-bird-arrive{0%{transform:translate(calc(-100vw + 100px));opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.faith-wink,.faith-wink *{animation:none!important}}body:has(.round-star-pop,.melody-playing,#game.pulling,#shotStats:not([hidden]),dialog[open],[role=dialog],[role=alertdialog]) .faith-wink{display:none}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#254a3e;background:#f5f2e7;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #bc7525;outline-offset:3px}a{color:inherit}.block-app{max-width:1100px;margin:auto;padding:18px 24px 32px}.block-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.block-header a{padding:10px 16px;text-decoration:none;font-weight:750;border-radius:12px;background:#315d4c;color:#fffbed}.block-header>span{font-size:10px;font-weight:750;letter-spacing:.14em}.block-header button,.block-title>button{padding:10px 12px;min-height:44px;border:1px solid #bdc9b6;border-radius:12px;background:#fffcf4;font-size:12px;font-weight:650}.block-kicker{font-size:10px;font-weight:800;letter-spacing:.17em;color:#708269;margin:0 0 8px}.block-welcome{max-width:760px;margin:45px auto 0;text-align:center}.block-welcome h1{font:normal clamp(44px,8vw,72px)/1.04 Georgia,serif;letter-spacing:-2px;margin:16px 0;color:#295443}.block-welcome h1 em{font-style:normal;color:#a77935}.block-welcome>p:not(.block-kicker){font-size:17px;line-height:1.7}.village{display:block;width:100%;height:auto;max-height:140px}.village.large{max-width:520px;max-height:170px;margin:18px auto}.house{opacity:.18;transition:opacity .6s,transform .6s}.house.built{opacity:1}.block-modes{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}.block-modes>button{display:flex;flex-direction:column;align-items:flex-start;padding:23px;border:1px solid #b7c6a7;border-radius:22px;background:#fffdf4;box-shadow:0 5px #d9dfcb;transition:transform .15s}.block-modes>button:first-child{background:#e6edd8}.block-modes>button:hover{transform:translateY(-3px)}.mode-icon{font-size:33px;color:#aa7934;margin-bottom:7px}.block-modes strong{font: 26px Georgia,serif}.block-modes span:not(.mode-icon){font-size:13px;font-weight:700;margin:8px 0}.block-modes small{line-height:1.5;color:#5f735d}.block-modes b{margin-top:20px;font-size:14px}.block-preview{font-size:12px!important;color:#6c7967;line-height:1.5}.block-primary{background:#315e4c;color:#fffbea;border:1px solid #315e4c;border-radius:14px;padding:14px 20px;font-weight:750;min-height:48px}.resume{width:100%;margin-bottom:20px}.block-title{display:flex;align-items:center;justify-content:space-between;margin:22px 0 16px;gap:12px}.block-title h1{font: 32px Georgia,serif;margin:0}.block-play-layout{display:grid;grid-template-columns:minmax(0,520px) minmax(240px,1fr);gap:45px;align-items:center;max-width:940px;margin:auto}.block-scorebar{display:flex;justify-content:space-between;gap:10px}.block-scorebar span{display:flex;flex-direction:column}.block-scorebar span:nth-child(2){text-align:center}.block-scorebar span:last-child{text-align:right}.block-scorebar small{font-size:9px;letter-spacing:.1em;font-weight:800;color:#73806a}.block-scorebar b{font-size:25px;line-height:1.4;font-variant-numeric:tabular-nums}.build-meter{height:5px;background:#dee4d2;border-radius:6px;overflow:hidden;margin:8px 0 2px}.build-meter>div{height:100%;background:#adbd73;transition:width .25s}.block-status{height:38px;font-size:12px;margin:5px 0;display:flex;align-items:center;justify-content:center;text-align:center;color:#4f6b57;line-height:1.3}.clear-message{font-size:17px;font-weight:800;color:#986823}.block-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;border:7px solid #325b4b;border-radius:17px;background:#325b4b;gap:4px;padding:3px;box-shadow:0 7px #254738,0 13px 25px #30543c20;touch-action:none;user-select:none;position:relative;margin:auto;width:100%}.block-cell{position:relative;border:0;border-radius:5px;padding:0;min-width:0;min-height:0;aspect-ratio:1;background:#426c59;touch-action:none}.block-cell>span{position:absolute;inset:0;border-radius:5px;background:var(--tile);pointer-events:none}.block-cell.filled>span{box-shadow:inset 0 3px #ffffff43,inset 0 -3px #00000015}.block-cell.outlined>span{opacity:.7;border:2px solid #fff5bb;box-shadow:0 0 0 1px #fff5bb;z-index:1}.block-cell.will-clear{outline:2px solid #f5dc8a;outline-offset:-2px}.block-cell.clearing{animation:cell-pop .6s ease-out}.block-cell i{position:absolute;inset:0;display:grid;place-items:center;font-size:25px;color:#fff6ad;z-index:3;pointer-events:none;animation:star-rise .6s ease-out forwards;font-style:normal}.block-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 8px}.block-tray button{height:108px;border:2px solid transparent;border-radius:15px;display:flex;align-items:center;justify-content:center;background:#e8e7d9;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:background .15s}.block-tray button[aria-pressed=true]{border-color:#ab8038;background:#fff5d6;box-shadow:0 0 0 3px #d8bb7930}.block-tray button:disabled{background:transparent}.piece{display:block;max-width:90%;max-height:90%;overflow:visible;pointer-events:none;filter:drop-shadow(0 3px 0 #29493625)}.piece-placed{font-size:24px;color:#9baa8a}.block-bottom{display:flex;gap:8px;justify-content:space-between}.block-bottom button{min-height:44px;border:1px solid #b5c3a9;border-radius:11px;background:#fffcf2;padding:8px 12px;font-size:12px}.block-bottom .block-hint{background:#e0e9cf;font-weight:700;min-width:136px}.block-hint:disabled{opacity:.7}.block-rule{font-size:11px;text-align:center;color:#6a7864;line-height:1.4;margin:9px 0}.block-village-card{border:1px solid #c7d1ba;border-radius:24px;padding:24px;background:#edf0e0}.block-village-card h2{font: 27px Georgia,serif;margin:20px 0 10px}.block-village-card p{font-size:14px;line-height:1.6}.building-steps{display:grid;gap:10px;margin:25px 0;font-size:14px;color:#8a937d}.building-steps .done{color:#315e4c;font-weight:750}.block-finish{display:block;width:100%;padding:10px;background:#315e4c;color:#fffbed;border:0;border-radius:10px;margin-top:10px;min-height:44px}.block-results{max-width:600px;margin:35px auto;text-align:center}.block-results h1{font: 38px/1.1 Georgia,serif}.block-results>p{line-height:1.6}.block-final-stars{color:#b6852e;font-size:44px;letter-spacing:8px}.result-stats{display:flex;justify-content:space-around;background:#e6ecd8;border-radius:18px;padding:20px;margin:22px 0}.result-stats span{font-size:10px;letter-spacing:.08em}.result-stats b{display:block;font-size:27px;letter-spacing:0}.block-results .block-primary{width:100%}.reward-explain{font-size:12px;color:#66745f}.block-secondary{background:#fffdf3;border:1px solid #afbd9e;border-radius:13px;padding:13px 20px;min-height:44px}.block-text{display:block;margin:15px auto;background:none;border:none;text-decoration:underline;min-height:44px}.block-error{padding:12px;background:#ffefcd;border-radius:10px;font-size:14px}.block-help-backdrop{position:fixed;inset:0;z-index:100;background:#183d32a8;display:grid;place-items:center;padding:18px}.block-help{background:#fffdf1;color:#254a3e;padding:24px;border-radius:22px;max-width:450px;max-height:90svh;overflow:auto}.block-help h2{font: 30px Georgia,serif;margin:0 0 18px}.block-help li{margin:16px 0;line-height:1.5}.block-help p{font-size:13px;line-height:1.5}.block-help .block-primary{width:100%}@keyframes cell-pop{0%{background:var(--spark);transform:scale(1.06)}to{background:#426c59;transform:scale(1)}}@keyframes star-rise{0%{opacity:1;transform:scale(.4)}65%{opacity:1;transform:translateY(-8px) scale(1.1)}to{opacity:0;transform:translateY(-18px) scale(.7)}}@media(max-width:700px){.block-app{padding:10px 14px 18px}.block-header{gap:8px}.block-header>span{font-size:8px;letter-spacing:.08em}.block-header a{padding:10px 12px;font-size:13px}.block-header button{padding:8px;font-size:11px}.block-welcome{margin-top:27px}.block-welcome h1{font-size:47px}.block-welcome>p:not(.block-kicker){font-size:15px}.block-welcome .village{margin:12px auto}.block-modes{gap:10px}.block-modes>button{padding:17px 13px;border-radius:17px}.block-modes strong{font-size:22px}.block-modes span:not(.mode-icon){font-size:11px}.block-modes small,.block-modes b{font-size:12px}.block-play-layout{display:block;max-width:440px}.block-village-card{display:none}.block-title{margin:14px 0 9px}.block-title h1{font-size:26px}.block-kicker{font-size:8px;margin-bottom:5px}.block-title>button{font-size:11px;padding:8px}.block-scorebar b{font-size:22px}.block-scorebar small{font-size:8px}.block-status{height:32px;font-size:11px}.block-board{border-width:6px;gap:3px;padding:2px;max-width:min(100%,calc(100svh - 355px))}.block-tray{margin:15px 0 8px;gap:7px}.block-tray button{height:82px}.block-bottom button{font-size:11px;padding:7px 9px}.block-bottom .block-hint{min-width:124px}.block-rule{font-size:10px}.block-results{margin:22px auto}.block-results h1{font-size:32px}.block-preview{font-size:11px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.block-cell i{display:none}}.block-help-dialog{border:0;padding:0;border-radius:22px;background:transparent;max-width:calc(100vw - 30px);max-height:90svh}.block-help-dialog::backdrop{background:#183d32a8}.motion-calm *{animation:none!important;transition:none!important}.motion-calm .block-cell i{display:none}@media(min-width:701px){.block-app.playing{padding-top:10px}.block-title{margin:14px 0 8px}.block-play-layout{grid-template-columns:minmax(0,460px) minmax(240px,1fr)}.block-board{max-width:min(100%,calc(100svh - 435px))}.block-tray{margin-top:16px}.block-tray button{height:86px}}.block-tutorial-demo{position:relative;height:185px;margin:10px auto 18px;max-width:250px}.tutorial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:144px;height:144px;margin:auto;background:#325b4b;padding:6px;border-radius:12px}.tutorial-grid>span{background:#426c59;border-radius:4px}.tutorial-moving{position:absolute;left:calc(50% - 16px);top:146px;animation:tutorial-drag 3.5s ease-in-out infinite}.tutorial-moving .piece{width:29px!important;height:29px!important}.tutorial-moving>span{display:block;text-align:center;font-size:26px;line-height:1}.tutorial-grid .demo-line{background:#e9b44e;animation:tutorial-line 3s ease-in-out infinite}.tutorial-grid .demo-filled{background:#64ad92}.tutorial-clear{display:block;text-align:center;font-size:13px;margin-top:12px}.block-help .tutorial-instruction{font-size:16px;line-height:1.55;min-height:75px}.block-help .block-text{font-size:12px;margin:6px auto 0}.block-help{width:440px;max-width:100%}.block-status{overflow-wrap:anywhere}@keyframes tutorial-drag{0%,15%,to{transform:translate(0)}45%,80%{transform:translate(-34px,-100px)}}@keyframes tutorial-line{0%,35%,to{opacity:1}65%,85%{opacity:.1}}.block-drag-piece{position:fixed;z-index:150;pointer-events:none;filter:drop-shadow(0 9px 5px #173e3560);will-change:left,top;user-select:none}.block-drag-piece svg{display:block;overflow:visible;animation:block-pickup .13s ease-out}.block-drag-piece.can-drop{filter:drop-shadow(0 5px 4px #173e3560)}.block-drag-piece>span{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);white-space:nowrap;background:#254b3e;color:#fff9dd;padding:3px 8px;border-radius:9px;font:700 10px system-ui}.block-tray button.is-held .piece{opacity:.15}.block-tray button.is-held{border-style:dashed;background:#fff3d5}.block-drag-piece.calm svg{animation:none}@keyframes block-pickup{0%{transform:scale(.8)}to{transform:scale(1)}}.blocks-family{max-width:850px;margin:auto;padding:14px 18px;color:#254a3e}.blocks-family>header{display:flex;justify-content:space-between;align-items:center;gap:14px}.blocks-family>header a{background:#315e4c;color:#fff;padding:12px;border-radius:12px;text-decoration:none;font-weight:700}.blocks-family>header span{font-size:10px;font-weight:750;letter-spacing:.1em}.blocks-panel{max-width:600px;margin:22px auto;padding:24px;border:1px solid #bdc9b6;border-radius:22px;background:#fffdf3}.blocks-panel h1{font: 36px/1.12 Georgia,serif;margin:10px 0 20px}.blocks-panel p{line-height:1.6}.blocks-panel label{display:block;font-weight:700;margin:20px 0 10px}.blocks-panel input{display:block;width:100%;padding:13px;font:inherit;border:1px solid #acbca3;border-radius:10px;background:#fff;margin-top:8px}.blocks-panel>button{width:100%}.blocks-panel hr{border:0;border-top:1px solid #dbe1d2;margin:24px 0}.blocks-room-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 8px}.blocks-room-bar strong{display:block;font-size:26px;letter-spacing:.08em}.blocks-room-bar small{display:block;font-size:11px}.blocks-room-bar button,.blocks-session button,.blocks-host-tools button{padding:10px;border:1px solid #b8c5ad;border-radius:10px;background:#fffdf3;min-height:44px}.blocks-session{display:flex;justify-content:space-between;gap:10px}.blocks-ranking{list-style:none;padding:0}.blocks-ranking li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid #d8e1cf}.blocks-ranking small{grid-column:1/-1;color:#52725f}.blocks-score-details{margin-top:14px;background:#e6ecd8;padding:12px;border-radius:12px}.blocks-score-details summary,.blocks-host-tools summary{cursor:pointer;min-height:32px;font-weight:700}.blocks-host-tools{margin:12px 0}.blocks-reactions{display:flex;justify-content:center;gap:12px;margin:10px 0}.blocks-reactions button{background:#fffdf3;border:1px solid #b8c5ad;border-radius:12px;font-size:24px;width:48px;height:44px}.blocks-reaction{position:fixed;z-index:90;bottom:15px;left:50%;transform:translate(-50%);background:#315e4c;color:#fff;border-radius:22px;padding:12px 20px;pointer-events:none}.blocks-family:has(+.block-app.playing){max-width:1100px}.blocks-family+.block-app.playing .block-header{display:none}.blocks-family+.block-app.playing{padding-top:0}.blocks-family .pf-root{margin-top:12px}.blocks-panel button:disabled{opacity:.55}.block-family-entry{display:block;text-align:center;text-decoration:none;margin:24px 0 12px;padding:18px;border-radius:18px;background:#315e4c;color:#fffbe8;font-weight:750}.block-family-entry small{display:block;font-weight:400;margin-top:6px}@media(max-width:700px){.blocks-panel{padding:18px}.blocks-panel h1{font-size:30px}.blocks-room-bar{flex-wrap:wrap}.blocks-room-bar strong{font-size:23px}.blocks-family+.block-app.playing .block-board{max-width:min(100%,calc(100svh - 480px))}.blocks-family:has(+.block-app.playing) .blocks-room-bar{margin-top:8px}.blocks-family:has(+.block-app.playing)>header,.blocks-family:has(+.block-app.playing) .blocks-host-tools,.blocks-family:has(+.block-app.playing) .blocks-reactions{display:none}.blocks-family:has(+.block-app.playing) .blocks-score-details{margin-top:6px;padding:7px 10px}.blocks-family:has(+.block-app.playing) .blocks-score-details summary{min-height:24px}.blocks-family+.block-app.playing .block-village-card{display:none}}.blocks-family:has(+.block-app.playing)>header{display:none}.blocks-family+.block-app.playing .block-title{margin-top:2px}.blocks-family+.block-app.playing .block-title h1{font-size:26px}.blocks-family+.block-app.playing .block-village-card{display:none}.blocks-family+.block-app.playing .block-play-layout{display:block;max-width:460px}.blocks-family+.block-app.playing .block-scorebar span:last-child{display:none}.blocks-family+.block-app.playing .block-board{max-width:min(100%,calc(100svh - 450px))}.blocks-family:has(+.block-app.playing) .blocks-room-bar{margin:4px 0}.blocks-family:has(+.block-app.playing) .blocks-host-tools{display:none}@media(min-width:701px){.blocks-family:has(+.block-app.playing){display:grid;grid-template-columns:1fr auto;gap:6px 20px;padding-bottom:4px}.blocks-family:has(+.block-app.playing) .blocks-score-details{margin-top:0}.blocks-family:has(+.block-app.playing) .blocks-reactions{margin:0}.blocks-family:has(+.block-app.playing) .blocks-session{align-items:center;justify-content:flex-end}.blocks-family:has(+.block-app.playing) .block-error{grid-column:1/-1}}@media(max-width:700px){.blocks-family+.block-app.playing .block-board{max-width:min(100%,calc(100svh - 530px))}.blocks-family:has(+.block-app.playing){padding-bottom:5px}}.blocks-ranking li{grid-template-columns:minmax(0,1fr) auto}.blocks-ranking b{overflow-wrap:anywhere}@media(max-width:700px){.blocks-room-bar{flex-wrap:nowrap;gap:8px}.blocks-room-bar>div:nth-child(2){min-width:0;font-size:12px}.blocks-room-bar small{font-size:10px}.blocks-room-bar button{font-size:12px;padding:8px;white-space:nowrap}.blocks-room-bar strong{font-size:22px}}@media(min-width:701px){.blocks-family+.block-app.playing .block-board{max-width:min(100%,calc(100svh - 480px))}}
