@font-face{font-family:Crimson TGH;font-style:normal;font-weight:400;src:url(/assets/fonts/crimson-text-400.woff2) format("woff2")}@font-face{font-family:Crimson TGH;font-style:normal;font-weight:700;src:url(/assets/fonts/crimson-text-700.woff2) format("woff2")}@font-face{font-family:Figtree TGH;font-style:normal;font-weight:700;src:url(/assets/fonts/figtree-700.woff2) format("woff2")}html{width:100%;min-height:100%;margin:0;overflow:visible;background:#f8f2e8;color:#3b2a1e}body{width:100%;min-height:100%;margin:0;overflow:visible;background:#f8f2e8;color:#3b2a1e;touch-action:auto;font-family:Crimson TGH,Georgia,serif;user-select:none;-webkit-user-select:none}html.is-playing,html.is-playing body{height:100%;overflow:hidden}html.is-playing body{touch-action:none}html.is-playing .app-shell{position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100dvh}.scene-menu{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;width:100%;min-height:100vh;min-height:100dvh;padding:16px 12px;overflow:visible}.scene-menu[hidden]{display:none}.scene-menu:is([data-page=gallery],[data-page=library]){--gallery-max-width: 720px;align-content:start;grid-template-rows:auto auto;max-width:var(--gallery-max-width);height:auto;padding-block-end:calc(104px + env(safe-area-inset-bottom));margin-inline:auto;overflow:visible}.menu-header{display:grid;justify-items:center;justify-self:center;width:100%;max-width:760px}.menu-logo{display:block;width:180px;max-width:calc(100vw - 48px);height:auto}.scene-catalog[hidden],.scene-not-found[hidden]{display:none}.scene-not-found{display:grid;align-content:center;justify-items:center;gap:20px;min-height:0;padding:24px;text-align:center}.scene-not-found-title{max-width:560px;margin:0;color:#244750;font-size:clamp(1.8rem,7vw,2.9rem);font-weight:400;line-height:1}.scene-not-found-gallery{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;border:1px solid #b8892d;border-radius:999px;background:#fffaefd1;box-shadow:0 8px 22px #2d20131f;color:#244750;font-family:Figtree TGH,Verdana,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.scene-not-found-gallery:hover{border-color:#9a472f;color:#9a472f}.scene-not-found-gallery:active{transform:translateY(1px)}.scene-not-found-copy{color:#5a4634;font-size:1rem}.scene-not-found-link{color:#9a472f;font-weight:700;text-underline-offset:.16em}.scene-not-found-gallery:focus-visible,.scene-not-found-link:focus-visible{outline:3px solid rgba(23,67,75,.45);outline-offset:4px}.scene-catalog{display:grid;align-content:start;align-items:start;gap:14px;justify-self:center;width:100%;min-width:0;overflow:visible}.gallery-filter-bar{position:sticky;top:7px;z-index:20;justify-self:center;width:min(var(--gallery-max-width),calc(100% + 24px));min-width:0;isolation:isolate;transform:translateZ(0);transition:transform .22s cubic-bezier(.22,1,.36,1)}.gallery-filter-bar:before{position:absolute;z-index:-1;top:-7px;right:0;bottom:-7px;left:0;border-bottom:1px solid rgba(115,85,44,.16);background:linear-gradient(180deg,#f8f2e6f7,#f4ebd9eb 72%,#f4ebd900);box-shadow:0 10px 20px #2d201314;opacity:0;content:"";pointer-events:none;transition:opacity .16s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-filter-bar.is-pinned:before{opacity:1}.gallery-filter-bar.is-scroll-hidden{transform:translate3d(0,calc(-100% - 12px),0);pointer-events:none}.gallery-blueprint-filter-bar{box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;padding-inline-start:12px}.gallery-filter-all{position:relative;z-index:1;min-width:58px;padding-inline:14px}.gallery-filter-viewport{position:relative;width:calc(100% + 37px);min-width:0;margin-inline-start:-37px;overflow-x:auto;overflow-y:clip;overscroll-behavior-inline:contain;padding-block:7px;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 24px,#000 42px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,transparent 0,transparent 24px,#000 42px,#000 calc(100% - 18px),transparent)}@media(min-width:512px){.scene-menu:is([data-page=gallery],[data-page=library]){border-inline:1px solid rgba(115,85,44,.16)}}.collection-nav{position:fixed;z-index:40;inset-block-end:max(14px,env(safe-area-inset-bottom));inset-inline-start:50%;display:flex;gap:8px;padding:7px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:#f6eee06b;box-shadow:0 1px #ffffffe0 inset,0 0 0 1px #704c1c1a,0 10px 28px #3e2d1a2e;opacity:1;transform:translate(-50%);visibility:visible;transition:opacity .18s ease,visibility 0s linear;-webkit-backdrop-filter:blur(22px) saturate(1.28);backdrop-filter:blur(22px) saturate(1.28)}.collection-nav.is-scroll-hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .18s ease,visibility 0s linear .18s}.collection-nav[hidden]{display:none}.collection-nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid rgba(112,76,28,.16);border-radius:50%;background:#fffcf5b8;color:#704c1c;box-shadow:0 1px #ffffffd9 inset,0 3px 10px #4631191f;touch-action:manipulation;text-decoration:none;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .12s ease}#collection-library-link.is-progress-pulsing:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:3px solid rgba(197,138,54,.72);border-radius:inherit;content:"";opacity:0;pointer-events:none;transform:scale(1.35);animation:library-progress-pulse .75s ease-out 2;animation-delay:.5s}@keyframes library-progress-pulse{0%{opacity:.8;transform:scale(.88)}to{opacity:0;transform:scale(1.35)}}.collection-nav-link[aria-current=page]{border-color:#17434bb3;background:linear-gradient(180deg,#315f5d,#214a49),#285553;color:#fffaf0;box-shadow:0 1px #fff3 inset,0 5px 13px #183b3a42}.collection-nav-link:focus-visible{outline:3px solid rgba(23,67,75,.45);outline-offset:3px}.collection-nav-link:active{transform:translateY(1px)}.collection-nav-icon{width:35.64px;height:35.64px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}.collection-nav-icon-home{transform:translateY(-1.5px)}.collection-nav-icon-library{width:38.88px;height:38.88px}.scene-library-empty{grid-column:1 / -1;justify-self:center;max-width:28rem;margin:48px 24px;color:#5a4634d1;font-size:1.15rem;line-height:1.5;text-align:center}.library-tab-list{--library-tab-highlight-width: 0px;--library-tab-highlight-x: 0px;position:relative;display:flex;align-items:center;justify-content:center;gap:0;width:max-content;min-width:0;margin-inline:auto;padding:4px;border:1px solid rgba(100,73,39,.28);border-radius:999px;background:linear-gradient(180deg,#d2c2a78c,#efe5d38a);box-shadow:0 2px 5px #45301933 inset,0 -1px #fff9 inset,0 1px #ffffffb8}.library-tab-highlight{position:absolute;z-index:0;inset-block:4px;inset-inline-start:0;width:var(--library-tab-highlight-width);border-radius:999px;background:linear-gradient(180deg,#365850fa,#224240fa),#294740;box-shadow:0 1px #ffffff29 inset,0 2px 5px #1f393738;transform:translate3d(var(--library-tab-highlight-x),0,0);pointer-events:none}.library-tab-list.is-ready .library-tab-highlight{transition:width .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1)}.library-tab-list .library-tab-button{position:relative;z-index:1;gap:7px;min-height:42px;min-width:0;padding-inline:17px;border:0;background:transparent;font-size:.9rem;box-shadow:none}.library-tab-list .library-tab-button:hover,.library-tab-list .library-tab-button.is-selected{border:0;background:transparent;box-shadow:none}.library-tab-list .library-tab-button.is-selected:hover{color:#fffaf0}.library-tab-icon{flex:0 0 auto;width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.library-tab-icon.is-filled{fill:currentColor;stroke:none}.gallery-filter-viewport::-webkit-scrollbar{display:none}.gallery-filter-viewport.is-draggable{cursor:grab}.gallery-filter-viewport.is-dragging,.gallery-filter-viewport.is-dragging .gallery-filter-pill{cursor:grabbing}.gallery-filter-track{--gallery-filter-duration: 32s;display:flex;align-items:center;width:max-content}.gallery-filter-track.is-static{width:100%}.gallery-filter-track.is-static .gallery-filter-group{box-sizing:border-box;justify-content:center;width:100%;padding-inline:8px}.gallery-filter-group{display:flex;align-items:center;flex:0 0 auto;gap:8px;padding-inline-end:8px}.gallery-filter-pill{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:35px;padding:0 17px;border:1px solid rgba(115,85,44,.32);border-radius:999px;background:linear-gradient(180deg,#fffdf7f0,#f4ead8e0),#f9f2e5;color:#5f4527;font-family:Figtree TGH,Verdana,sans-serif;font-size:.8125rem;font-weight:700;letter-spacing:.035em;line-height:1;white-space:nowrap;box-shadow:0 1px #ffffffc7 inset,0 2px 5px #2d20131f;cursor:pointer;user-select:none;-webkit-user-select:none}.gallery-filter-pill:hover{border-color:#2a4c488c;color:#294740}.gallery-filter-pill.is-selected{border-color:#294740;background:linear-gradient(180deg,#365850fa,#224240fa),#294740;color:#fffaf0;box-shadow:0 1px #ffffff26 inset,0 2px 5px #1f393733}.gallery-filter-pill:focus-visible{outline:3px solid rgba(23,67,75,.42);outline-offset:2px}.scene-catalog-grid{display:grid;grid-auto-rows:4px;justify-content:center;width:100%;max-width:var(--gallery-max-width, 640px);justify-self:center;column-gap:12px;row-gap:4px}.scene-catalog-grid.is-preparing{position:fixed;top:0;left:-100000px;visibility:hidden;pointer-events:none;contain:layout paint style}.scene-catalog-grid[data-result-columns="1"]{grid-template-columns:minmax(0,512px)}.scene-catalog-grid[data-result-columns="2"]{grid-template-columns:repeat(2,minmax(0,512px))}.scene-catalog-grid[data-result-columns="3"]{grid-template-columns:repeat(3,minmax(0,512px))}@media(max-width:520px){.scene-catalog-grid[data-result-columns="2"],.scene-catalog-grid[data-result-columns="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:330px){.scene-catalog-grid[data-result-columns]{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.gallery-filter-bar,.gallery-filter-bar:before,.collection-nav,.library-tab-highlight{transition:none}#collection-library-link.is-progress-pulsing:after{animation:none}.gallery-filter-group[aria-hidden=true]{display:none}}.scene-card{box-sizing:border-box;display:grid;grid-template-rows:auto;align-self:start;width:100%;min-width:0;padding:7px;border:1px solid rgba(115,85,44,.34);border-radius:6px;background:#fffaefc2;color:#3b2a1e;font:inherit;text-align:left;box-shadow:0 12px 30px #2d201324;break-inside:avoid;cursor:pointer}.scene-card:focus-visible{outline:3px solid rgba(23,67,75,.45);outline-offset:3px}.scene-card:hover{border-color:#1d343875}.scene-preview-frame{position:relative;display:block;min-width:0;aspect-ratio:1;overflow:hidden;background:#f7efe1}.scene-preview,.scene-preview-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;background:transparent}.scene-preview{z-index:2;object-fit:contain}.scene-preview.is-awaiting-load{opacity:0}.scene-preview.is-visible-load{animation:scene-preview-fade-in .5s ease both}@keyframes scene-preview-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.scene-preview.is-visible-load{animation:none}}.scene-preview-fill{z-index:1;pointer-events:none}.scene-preview-fill{object-fit:contain;opacity:0;transition:opacity .5s ease}.scene-preview-fill.is-loaded{opacity:1}.scene-preview-sweep{position:absolute;top:-75%;right:-75%;bottom:-75%;left:-75%;display:block;z-index:3;overflow:hidden;opacity:0;pointer-events:none;contain:paint;-webkit-mask-image:var(--gallery-fill-sweep-mask);mask-image:var(--gallery-fill-sweep-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;transform:translate3d(var(--gallery-fill-sweep-mask-x),var(--gallery-fill-sweep-mask-y),0)}.scene-preview-sweep-image{position:absolute;inset-block-start:30%;inset-inline-start:30%;display:block;width:40%;height:40%;object-fit:contain;transform:translate3d(var(--gallery-fill-sweep-image-x),var(--gallery-fill-sweep-image-y),0)}.scene-preview-sweep.is-ready{animation:gallery-fill-sweep-fade-in var(--gallery-fill-sweep-fade-duration) ease both;will-change:opacity}@keyframes gallery-fill-sweep-fade-in{0%{opacity:0}to{opacity:1}}.scene-difficulty-badge{position:absolute;inset-block-start:8px;inset-inline-start:8px;z-index:4;display:inline-flex;align-items:center;gap:5px;height:22px;box-sizing:border-box;padding:0 8px;border:1px solid rgba(80,62,43,.16);border-radius:999px;background:#fffdf8f0;color:#3b2a1e;font-family:Figtree TGH,Verdana,sans-serif;font-size:.68rem;font-weight:700;line-height:1;box-shadow:0 3px 8px #261b122e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scene-difficulty-marker{width:7px;height:7px;border-radius:50%;background:#5f966b}.scene-difficulty-badge.is-difficulty-1 .scene-difficulty-marker{background:#c58a36}.scene-difficulty-badge.is-difficulty-2 .scene-difficulty-marker{background:#945567}.scene-progress-badge{position:absolute;inset-block-start:8px;inset-inline-end:8px;z-index:4;display:inline-grid;place-items:center;min-width:34px;height:22px;box-sizing:border-box;padding:0 7px;border:1px solid rgba(80,62,43,.16);border-radius:999px;background:#fff;color:#294740;font-family:Figtree TGH,Verdana,sans-serif;font-size:.68rem;font-weight:700;line-height:1;box-shadow:0 3px 8px #261b122e}@media(prefers-reduced-motion:reduce){.scene-preview-sweep{display:none}}.scene-progress-badge.is-complete{width:26px;min-width:26px;height:26px;padding:0;color:#16884a}.scene-progress-check{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}#game-container,#overview-container{width:100%;height:100%}#game-container{position:relative}.app-shell{box-sizing:border-box;position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden}.app-shell[hidden]{display:none}.game-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;background:#f8f2e8;user-select:none;-webkit-user-select:none}.game-viewport{position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-radius:0}.scene-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#fbf8f3;pointer-events:auto}.scene-loading[hidden]{display:none}.scene-loading-content{display:grid;justify-items:center;gap:18px;transform:translateY(-10px)}.scene-loading-spinner{box-sizing:border-box;inline-size:48px;block-size:48px;border:3px solid rgba(126,110,94,.22);border-block-start-color:#b07a2f;border-radius:50%;animation:scene-loading-spin .82s linear infinite}.scene-loading-message{margin:0;color:#3b2a1e;font-family:Crimson TGH,Georgia,serif;font-size:1.6rem;font-weight:700;line-height:1}.scene-loading-status{position:absolute;inset-block-end:26px;inset-inline:18px;margin:0;color:#59442e;font-family:Figtree TGH,Verdana,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:0;line-height:1;text-align:center}.scene-loading-status[hidden]{display:none}@keyframes scene-loading-spin{to{transform:rotate(360deg)}}.overview-panel{--overview-long-edge: min(168px, calc(100vw - 28px) , calc(100vh - 120px) );position:absolute;inset-block-start:14px;inset-inline-end:14px;z-index:3;inline-size:var(--overview-long-edge);block-size:auto;aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.68);border-radius:8px;background:#faf6edbd;box-shadow:0 14px 28px #34241233}.overview-panel.is-portrait{inline-size:auto;block-size:var(--overview-long-edge)}.overview-panel:after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";border-radius:inherit;box-shadow:0 0 0 1px #7d5b301f inset}.overview-panel[hidden]{display:none}.overview-frame{position:relative;width:100%;height:100%}.game-bottom-controls{box-sizing:border-box;position:absolute;inset-block-end:14px;inset-inline:14px;z-index:4;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none;opacity:1;transform:translateY(0);visibility:visible;transition:opacity .42s ease,transform .42s cubic-bezier(.22,1,.36,1),visibility 0s linear}.app-shell.completion-sheet-open .game-bottom-controls{opacity:0;transform:translateY(18px);visibility:hidden;transition:opacity .42s ease,transform .42s cubic-bezier(.22,1,.36,1),visibility 0s linear .42s}.game-hud{box-sizing:border-box;display:grid;grid-template-columns:minmax(48px,max-content) minmax(0,1fr) max-content;flex:1 1 auto;align-items:center;gap:12px;width:auto;min-width:0;min-height:54px;padding:6px 14px;border:1px solid rgba(255,255,255,.68);border-radius:999px;background:#faf6edc7;box-shadow:0 0 0 1px #7d5b301f inset,0 14px 28px #3424122e;pointer-events:auto}.progress-copy{min-width:48px;width:48px}.progress-percent{display:flex;align-items:baseline;height:32px;color:#3b2718;font-weight:700;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.55)}.progress-percent span:first-child{font-size:1.75rem}.progress-mark{margin-left:2px;font-size:.95rem}.progress-cells{margin:0;color:#59442e;font-size:.95rem;line-height:1.05;text-align:end;white-space:nowrap}.progress-rail{position:relative;height:18px;min-width:0;border-radius:999px}.progress-rail:before{position:absolute;top:4px;right:0;bottom:4px;left:0;content:"";border:2px solid rgba(151,118,70,.28);border-radius:999px;background:#fffcf5ad;box-shadow:0 1px 3px #3e2d1a29 inset,0 1px #ffffffb8}.progress-fill{position:absolute;inset-block:5px;inset-inline-start:0;inline-size:0%;max-inline-size:100%;border-radius:999px;background:linear-gradient(90deg,#9d7335,#d6b467);box-shadow:0 1px 3px #462b0e5c inset}.scene-home-button,.overview-toggle,.share-artwork-button,.scene-options-button,.overview-close{z-index:4;display:inline-flex;align-items:center;justify-content:center;padding:0;height:54px;width:54px;border:0;border-radius:999px;background:linear-gradient(#fbf8ef,#efe4d1),#f6eddd;color:#704c1c;text-decoration:none;box-shadow:0 0 0 2px #ffffff94 inset,0 5px 14px #46311929;cursor:pointer}.scene-home-button,.overview-toggle,.share-artwork-button,.overview-close{position:absolute}.scene-home-button{inset-block-start:14px;inset-inline-start:14px;z-index:101}.overview-toggle,.share-artwork-button{inset-block-start:14px;inset-inline-end:14px}.scene-options-control{position:relative;flex:0 0 auto;pointer-events:auto}.scene-options-button{position:relative;color:#5f421b;font:700 1.28rem/1 Figtree TGH,Verdana,sans-serif;letter-spacing:1px}.overview-toggle[hidden],.share-artwork-button[hidden],.scene-options-button[hidden]{display:none}.overview-close{inset-block-start:6px;inset-inline-end:6px;height:28px;width:28px;background:linear-gradient(#fffaf1,#eee1ca),#f6eddd;box-shadow:0 0 0 1px #ffffff9e inset,0 3px 9px #46311929}.scene-home-button:focus-visible,.overview-toggle:focus-visible,.share-artwork-button:focus-visible,.scene-options-button:focus-visible,.overview-close:focus-visible{outline:3px solid rgba(23,67,75,.45);outline-offset:3px}.scene-home-button:active,.overview-toggle:active,.share-artwork-button:active,.scene-options-button:active,.overview-close:active{transform:translateY(1px)}.overview-button-icon{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.scene-home-button .overview-button-icon{width:35px;height:35px;stroke-width:1.65}.overview-toggle .overview-button-icon{width:34px;height:34px;stroke-width:1.45}.overview-close .overview-button-icon{width:18px;height:18px;stroke-width:2.3}.scene-options-menu{position:absolute;z-index:5;inset-block-end:calc(100% + 10px);inset-inline-end:0;box-sizing:border-box;min-inline-size:178px;padding:6px;border:1px solid rgba(255,255,255,.68);border-radius:8px;background:#faf6edf0;box-shadow:0 0 0 1px #7d5b301f inset,0 14px 28px #34241233}.scene-options-menu[hidden]{display:none}.scene-options-item{display:block;width:100%;min-height:42px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#3b2a1e;font:700 .95rem/1 Figtree TGH,Verdana,sans-serif;text-align:left;cursor:pointer}.scene-options-item:hover,.scene-options-item:focus-visible{background:#704c1c1a;outline:0}.completion-dialog{--completion-gradient-extent: 74px;box-sizing:border-box;position:fixed;z-index:2;inset:auto 0 0;width:100%;height:auto;max-width:none;max-height:100vh;max-height:100dvh;margin:0;padding:0;border:0;background:linear-gradient(180deg,#03070600,#0c151261 34%,#0c1512d1 62%,#101b18 78%,#030706);color:#fffdf7;overflow:hidden}.gallery-welcome-sheet{--completion-gradient-extent: 174px;z-index:200}.completion-dialog:not([hidden]){animation:completion-sheet-enter .72s cubic-bezier(.16,1,.3,1) both}.completion-dialog.is-closing{animation:completion-sheet-exit .5s cubic-bezier(.4,0,.2,1) both}.completion-dialog.is-closing .completion-content{pointer-events:none}.completion-card{box-sizing:border-box;position:relative;display:grid;align-content:end;justify-items:stretch;width:100%;height:auto;max-height:none;padding:var(--completion-gradient-extent) max(20px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:hidden;background:transparent;text-align:center}.completion-content{box-sizing:border-box;display:grid;gap:24px;width:min(100%,440px);max-height:calc(100dvh - max(22px,env(safe-area-inset-bottom)) - var(--completion-gradient-extent));margin-inline:auto;overflow-y:auto;scrollbar-width:none}.completion-content::-webkit-scrollbar{display:none}.completion-heading{display:grid;gap:11px;justify-items:center}.completion-title{margin:0;color:#fffdf7;font-family:Crimson TGH,Georgia,serif;font-size:clamp(2.65rem,10vw,3.65rem);font-weight:400;letter-spacing:-.025em;line-height:.88;text-shadow:0 2px 8px rgba(0,0,0,.36)}.completion-subtitle{margin:0;color:#fffdf7c7;font-family:Figtree TGH,Verdana,sans-serif;font-size:.96rem;font-weight:600;letter-spacing:.01em;line-height:1.3;text-shadow:0 1px 5px rgba(0,0,0,.38)}.completion-actions{display:grid;gap:9px;width:100%}.completion-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:52px;padding:0 16px;border-radius:13px;font:700 1.28rem/1 Crimson TGH,Georgia,serif;letter-spacing:0;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .14s ease;touch-action:manipulation}.completion-action[hidden]{display:none}.completion-action:hover{transform:translateY(-1px)}.completion-action:active{transform:translateY(1px)}.completion-action:focus-visible{outline:0}.completion-action-icon{flex:0 0 auto;width:24px;height:24px;margin-inline-end:8px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.completion-primary-action{border:1px solid rgba(134,87,21,.3);background:linear-gradient(#d2a042,#a76e19),#b47a24;color:#fffaf1;box-shadow:0 1px #ffffff42 inset,0 10px 18px #51320e38}.completion-primary-action:hover{background:linear-gradient(#dbab50,#b7781e),#bd8128}.completion-tertiary-action{min-height:42px;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-image:none;color:#fffdf7c7;box-shadow:none;font-size:1.12rem;-webkit-tap-highlight-color:transparent}.completion-tertiary-action:hover,.completion-tertiary-action:active{background-color:transparent;background-image:none;color:#fffdf7;box-shadow:none}.gallery-welcome-privacy{font-family:Figtree TGH,Verdana,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.05em}.completion-action:disabled{cursor:wait;opacity:.72;transform:none}@keyframes completion-sheet-enter{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes completion-sheet-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(84px)}}@media(max-height:600px){.completion-heading{gap:3px}.completion-action{min-height:48px}}@media(prefers-reduced-motion:reduce){.completion-dialog:not([hidden]),.completion-dialog.is-closing{animation-duration:1ms}.game-bottom-controls,.app-shell.completion-sheet-open .game-bottom-controls{transition-duration:1ms}}.reset-confirm-dialog,.set-progress-dialog{width:280px;max-width:calc(100vw - 36px);padding:0;border:0;border-radius:8px;background:transparent;color:#3b2a1e}.set-progress-dialog{width:340px}.reset-confirm-dialog::backdrop,.set-progress-dialog::backdrop{background:#2b1f1447}.reset-confirm-card,.set-progress-card{box-sizing:border-box;display:grid;gap:18px;padding:22px;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:#faf6edf0;box-shadow:0 0 0 1px #7d5b301f inset,0 18px 42px #3424123d}.reset-confirm-title{margin:0;color:#2f241b;font-size:1.45rem;font-weight:700;line-height:1.1;text-align:center}.set-progress-heading{display:grid;gap:8px;justify-items:center}.set-progress-header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;align-items:center}.set-progress-step-button{display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid rgba(112,76,28,.3);border-radius:50%;background:#fffaf1c7;color:#5c4126;box-shadow:0 1px #ffffffd6 inset,0 5px 12px #3929181a;cursor:pointer;touch-action:none}.set-progress-step-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.set-progress-step-button:active:not(:disabled){background:#f0e4d0;box-shadow:0 1px 3px #3929181f inset;transform:translateY(1px)}.set-progress-step-button:disabled{cursor:default;opacity:.34}.set-progress-step-button:focus-visible{outline:3px solid rgba(23,67,75,.45);outline-offset:3px}.set-progress-value{color:#5b4633;font:700 .95rem/1 Figtree TGH,Verdana,sans-serif}.set-progress-preview{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid rgba(112,76,28,.18);border-radius:6px;background:#f8f2e8;box-shadow:0 1px #ffffffad inset,0 10px 20px #3a2a181f}.set-progress-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:32px;margin:-4px 0;border:0;background:transparent;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.set-progress-slider:focus,.set-progress-slider:active{outline:none;background:transparent}.set-progress-slider::-moz-focus-outer{border:0}.set-progress-slider::-webkit-slider-runnable-track{height:8px;border:1px solid rgba(112,76,28,.24);border-radius:999px;background:#e4d6c0;box-shadow:0 1px 2px #3929181a inset}.set-progress-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;border:2px solid #fffaf1;border-radius:50%;background:#704c1c;box-shadow:0 0 0 1px #4f321142,0 4px 9px #39291833}.set-progress-slider::-moz-range-track{height:8px;border:1px solid rgba(112,76,28,.24);border-radius:999px;background:#e4d6c0;box-shadow:0 1px 2px #3929181a inset}.set-progress-slider::-moz-range-thumb{width:22px;height:22px;border:2px solid #fffaf1;border-radius:50%;background:#704c1c;box-shadow:0 0 0 1px #4f321142,0 4px 9px #39291833}.reset-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reset-confirm-button{min-height:42px;border:1px solid rgba(112,76,28,.34);border-radius:6px;background:#fffaf1;color:#4d3826;font:700 1rem/1 Figtree TGH,Verdana,sans-serif;cursor:pointer}.reset-confirm-primary{background:#704c1c;color:#fffaf1}.reset-confirm-button:focus-visible{outline:3px solid rgba(23,67,75,.45);outline-offset:3px}.overview-canvas,.set-progress-preview-canvas,.game-background-canvas,.game-canvas{display:block;width:100%;height:100%;user-select:none;-webkit-user-select:none}.overview-frame>.overview-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.overview-spirit-marker{box-sizing:border-box;position:absolute;top:0;left:0;width:11.3px;height:11.3px;border:2.1px solid #ffffff;border-radius:50%;pointer-events:none;will-change:transform}#game-container>.game-background-canvas,#game-container>.game-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.game-background-canvas{z-index:0;pointer-events:none;transform-origin:0 0}#game-container>.game-canvas{z-index:1}.game-canvas{cursor:grab}.game-canvas:active{cursor:grabbing}
