:root{color:#1d1d1f;background:#f5f5f7;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--primary: #0066cc;--primary-focus: #0071e3;--ink: #1d1d1f;--muted: #7a7a7a;--canvas: #ffffff;--parchment: #f5f5f7;--hairline: #e0e0e0;--dark: #272729;--board-size: min( calc(100vw - 16px) , calc(66.667dvh - 120px) , 560px)}*{box-sizing:border-box}html{min-width:320px;width:100%;height:100%;overflow:hidden;background:var(--parchment);overscroll-behavior:none}body{margin:0;min-width:320px;width:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}#app{width:100%;height:100%;display:flex;justify-content:center;overflow:hidden;background:#d9d9de}html.card-drag-active,html.card-drag-active body{overscroll-behavior:none;touch-action:none}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--primary-focus);outline-offset:3px}.puzzle-card:focus,.puzzle-card:focus-visible{outline:0}button:not(.puzzle-card):active{transform:scale(.95)}.button:disabled{color:#86868b;border-color:#d2d2d7;background:#e8e8ed;cursor:not-allowed;opacity:1;transform:none}.app-shell{width:100%;max-width:768px;height:100dvh;margin-inline:auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background-color:var(--parchment);box-shadow:0 0 48px #0000002e}.screen-game{background-color:var(--parchment);background-image:linear-gradient(#f5f5f7c2,#f5f5f7d6),var(--game-region-art);background-position:center;background-repeat:no-repeat;background-size:cover}.screen-home>main{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.topbar{min-height:64px;padding:10px max(20px,calc((100vw - 1200px)/2));display:flex;align-items:center;gap:12px;background:#f5f5f7e0;border-bottom:1px solid rgb(0 0 0 / 8%);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);flex:0 0 auto;position:relative;z-index:50}.topbar strong{font-size:21px;font-weight:600;letter-spacing:-.02em}.topbar-dark{min-height:44px;color:#fff;background:#000;border:0}.brand-mark{font-size:20px}.alpha-badge{padding:3px 7px;color:#d6eeff;border:1px solid rgb(255 255 255 / 35%);border-radius:999px;background:#2997ff33;font-size:10px;font-weight:700;letter-spacing:.08em}.topbar-meta,.gallery-total{margin-left:auto;color:#ccc;font-size:14px}.gallery-total{color:var(--ink);font-weight:600}.topbar-actions{margin-left:auto;display:flex!important;align-items:center;gap:10px}.portal-link{min-height:38px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;color:var(--ink);background:#ffffffc7;text-decoration:none;font-size:14px;font-weight:700}.topbar-dark .portal-link{color:#fff;background:#272729}.coin-balance{min-height:36px;padding:7px 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgb(0 0 0 / 9%);border-radius:999px;color:var(--ink);background:#fff;font-size:14px;font-weight:600}.topbar-dark .coin-balance{color:#fff;background:#272729;border-color:#ffffff29}.coin-balance i,.coin-reward span{color:#d59b16;font-style:normal}.button{min-height:44px;padding:11px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-size:17px}.button-primary{color:#fff;background:var(--primary)}.button-secondary{color:var(--primary);background:#fff;border-color:var(--primary)}.topbar-return{min-height:36px;padding:8px 14px;color:#fff;background:var(--primary);font-size:14px}.icon-button{width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#d2d2d7a3;cursor:pointer;font-size:30px;line-height:1}.audio-toggle{width:38px;height:38px;flex:0 0 38px;font-size:17px}.fullscreen-toggle{width:38px;height:38px;flex:0 0 38px;font-size:21px}.topbar-dark .fullscreen-toggle,.topbar-dark .audio-toggle{color:#fff;background:#272729}.game-topbar-inner>div,.gallery-topbar>div{display:grid}.game-topbar-inner>div strong,.gallery-topbar>div strong{line-height:1.1}.game-topbar-inner>.topbar-actions{margin-left:auto}.game-menu-toggle,.status-icon{display:none}.level-map-topbar>.topbar-actions{margin-left:auto}.level-map-topbar>.coin-balance{margin-left:auto}.shell-menu-toggle.dark{color:#fff;background:#272729}.game-topbar{min-height:0;padding:6px 0;align-items:stretch}.game-topbar-inner{width:min(1180px,100%);min-width:0;margin-inline:auto;padding-inline:max(20px,calc((100vw - 1200px)/2));display:flex;align-items:stretch;gap:12px}.game-topbar-inner>.icon-button,.game-topbar-inner>.topbar-actions{align-self:center}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.12em}.level-map-page{flex:1;min-height:0;padding:24px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:20px;overflow:hidden;background:radial-gradient(circle at 12% 16%,rgb(255 255 255 / 92%) 0 10%,transparent 32%),radial-gradient(circle at 86% 74%,rgb(212 229 225 / 52%) 0 7%,transparent 30%),#eef1f0}.level-map-intro{max-width:760px;margin:0 auto;text-align:center}.level-map-intro h1{margin:0 0 14px;font-size:clamp(36px,5vw,56px);line-height:1.07;letter-spacing:-.035em}.level-map-intro>p:last-child{margin:0;color:#333;font-size:17px}.level-path{width:min(760px,100%);height:100%;min-height:0;max-height:597px;margin:0 auto;padding:36px;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:112px;align-items:center;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;cursor:grab;border:1px solid rgb(78 98 91 / 16%);border-radius:30px;background:#f8faf8;box-shadow:0 24px 60px #2639311f,inset 0 1px #ffffffe5}.map-region-scene{grid-column:1 / -1;grid-row:var(--region-row) / span 5;align-self:stretch;margin:-28px -28px 0;overflow:hidden;border-radius:24px;background-color:#e9f0ed;background-image:var(--region-art);background-repeat:no-repeat;background-position:center;background-size:cover;opacity:.92;pointer-events:none;position:relative;z-index:0}.map-region-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(255 255 255 / 82%) 0 26%,transparent 51% 100%)}.map-region-scene.locked{filter:saturate(.2) brightness(1.05);opacity:.55}.map-region-scene.completed{filter:saturate(.72)}.map-region-caption{width:250px;padding:10px 14px;display:grid;position:absolute;left:50%;top:6px;z-index:2;text-align:center;transform:translate(-50%)}.map-region-caption span{color:#477064;font-size:9px;font-weight:700;letter-spacing:.14em}.map-region-caption strong{margin-top:2px;font-size:16px;letter-spacing:-.03em}.map-region-caption small{margin-top:2px;color:#54645e;font-size:10px;line-height:1.45}.map-region-night .map-region-caption span,.map-region-night .map-region-caption small{color:#bccbd0}.map-region-night .map-region-caption strong{color:#fff}.map-region-night:after{background:linear-gradient(90deg,rgb(24 37 48 / 88%) 0 26%,transparent 54% 100%)}.map-region-scene+.map-region-scene{margin-top:10px}.map-landmark{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px #ffffff42;position:absolute;right:9%;top:13%;z-index:2}.level-node{grid-column:var(--level-column);grid-row:var(--level-row);width:100%;height:100%;padding:0;display:grid;place-items:center;border:0;color:var(--ink);background:transparent;cursor:pointer;position:relative;z-index:2}.level-node:before{content:"";border-radius:999px;background:linear-gradient(90deg,#c7cec9,#aebbb4,#c7cec9);box-shadow:0 1px #ffffffe5;position:absolute;z-index:0}.level-node.path-travelled:before{background:linear-gradient(90deg,#62a98b,#2d8d67,#62a98b)}.level-node.path-right:before{width:100%;height:4px;left:50%;top:calc(50% - 2px)}.level-node.path-left:before{width:100%;height:4px;right:50%;top:calc(50% - 2px)}.level-node.path-down:before{width:4px;height:100%;left:calc(50% - 2px);top:50%}.level-node.path-end:before{display:none}.level-node:last-child:before{display:none}.level-node>span{width:58px;height:58px;display:grid;place-items:center;border:1px solid #cfd5d1;border-radius:50%;background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 7px 16px #2b3d3521,inset 0 1px #fff;font-size:17px;font-weight:600;position:relative;z-index:1}.level-number{font:inherit}.level-node>span:has(.level-node-label) .level-number{transform:translateY(-5px)}.level-node .level-node-label{max-width:calc(100% - 8px);position:absolute;right:4px;bottom:7px;left:4px;overflow:hidden;color:var(--primary);font-size:8px;font-style:normal;font-weight:800;letter-spacing:0;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.level-node small{position:absolute;top:calc(50% + 34px);color:var(--primary);font-size:10px;font-weight:600;z-index:2}.level-node.current>span{width:82px;height:82px;color:#fff;background:linear-gradient(145deg,#1685e4,#005dbb);border-color:var(--primary);box-shadow:0 12px 30px #0066cc52;font-size:24px}.level-node.current small{top:calc(50% + 46px)}.level-node.completed>span{color:#7c7c82;border-color:#c7c7cc;background:linear-gradient(145deg,#e8ecea,#d7deda)}.level-node.completed.path-travelled>span{color:#4f665c;border-color:#9cb7aa;background:#deede5eb}.level-node.completed>span .level-complete-flag{position:absolute;top:-10px;right:-11px;width:25px;height:25px;display:grid;place-items:center;color:#fff;border:2px solid white;border-radius:50%;background:#248a4b;box-shadow:0 3px 8px #248a4b4d;font-size:14px;font-style:normal;line-height:1}.level-node:disabled{color:#a1a1a6;cursor:not-allowed}.level-node:disabled>span{color:#a3aaa6;background:#f2f4f3d1;box-shadow:inset 0 1px #fff}.level-lock-mark{width:8px;height:8px;position:absolute;right:8px;bottom:8px;overflow:hidden;color:#a8afab;font-size:7px;font-style:normal;transform:rotate(45deg)}.level-node.hard-level>span{width:68px;height:68px;color:#9d2029;border:2px solid #d66a72;background:#fff0f1;box-shadow:0 6px 18px #b0253024}.level-node.current.hard-level>span{width:82px;height:82px;color:#fff;border-color:#b02530;background:#b02530;box-shadow:0 12px 30px #b025304d}.level-node.completed.hard-level>span{color:#7c7c82;border-color:#d3aeb1;background:#f1e2e4}.hard-level-label{color:#a5222c}.level-node.current .level-node-label,.level-node.current .hard-level-label{color:#fff}.level-node.low-saturation-challenge-level>span{color:#343437;border-color:#74747a;background:linear-gradient(145deg,#f7f1ea,#c5bcb4);box-shadow:0 6px 18px #2323262e}.level-node.current.low-saturation-challenge-level>span{color:#fff;border-color:#1d1d1f;background:linear-gradient(145deg,#6f665f,#2b2928);box-shadow:0 12px 30px #23232652}.level-node.low-saturation-challenge-level .hard-level-label{color:#444448}.level-node.current.low-saturation-challenge-level .hard-level-label{color:#fff}.continue-level{margin-top:22px}.level-window-nav{width:min(760px,100%);margin:18px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}.level-window-nav button:last-child{justify-self:end}.level-window-nav button:first-child{justify-self:start}.level-window-nav span{color:var(--muted);font-size:14px;font-weight:600}.home-hero{min-height:calc(100vh - 44px);display:grid;grid-template-columns:1.1fr .9fr;background:var(--dark);color:#fff}.hero-mosaic{position:relative;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);min-height:640px}.hero-title-lockup{position:absolute;left:50%;top:50%;min-width:max-content;padding:15px 24px 13px;display:grid;justify-items:center;gap:4px;border:0;border-radius:999px;color:#fff;background:#00000070;box-shadow:0 20px 70px #00000059;text-shadow:0 4px 18px rgb(0 0 0 / 45%);transform:translate(-50%,-50%);z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;font:inherit;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .12s ease}.hero-title-lockup:hover{background:#00000094;box-shadow:0 24px 80px #0000007a}button.hero-title-lockup:active{transform:translate(-50%,-50%) scale(.97)}.hero-game-title{font-size:clamp(42px,5.4vw,78px);font-weight:800;line-height:1}.hero-game-subtitle,.hero-title-lockup small{color:#e5e5e7;font-size:clamp(9px,.9vw,12px);font-weight:700;letter-spacing:.13em}.hero-title-lockup small{color:#aebdd0;font-size:9px}.hero-photo{background-repeat:no-repeat}.hero-photo.collected-photo{animation:collected-photo-breathe 7s ease-in-out infinite;animation-delay:var(--mosaic-delay)}.hero-copy{align-self:center;max-width:620px;padding:80px 64px}.hero-copy h1{margin:0 0 24px;font-size:clamp(40px,5vw,64px);font-weight:600;line-height:1.05;letter-spacing:-.035em}.hero-copy>p{margin:0;color:#ccc;font-size:21px;line-height:1.47}.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.game-instructions-button{margin:10px 0 0 8px}.level-loading-page{width:100%;min-height:100%;display:grid;place-items:center;padding:32px;overflow:hidden;background:radial-gradient(circle at 50% 28%,rgb(255 255 255 / 92%) 0 13%,transparent 42%),#edf1ef}.level-loading-card{width:min(680px,100%);padding:clamp(32px,5vw,58px);border:1px solid rgb(62 79 70 / 13%);border-radius:32px;background:#ffffffeb;box-shadow:0 26px 70px #25382f1f;text-align:center}.level-loading-card h1{margin:0 0 10px;font-size:clamp(32px,5vw,50px);letter-spacing:-.035em}.loading-puzzle-mark{width:88px;height:88px;margin:0 auto 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:5px;transform:rotate(-4deg)}.loading-puzzle-mark i{border-radius:10px;background:#dbe6e1;animation:loading-tile-pulse 1.4s ease-in-out infinite}.loading-puzzle-mark i:nth-child(2){background:#9cc7b2;animation-delay:.14s}.loading-puzzle-mark i:nth-child(3){background:#f0cf8e;animation-delay:.28s}.loading-puzzle-mark i:nth-child(4){background:#78a993;animation-delay:.42s}.loading-status{margin:0;color:var(--muted);font-size:14px}.loading-challenge-notice{width:min(420px,100%);margin:0 auto 16px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #5b5b60;border-radius:14px;color:#fff;background:#29292d}.loading-challenge-notice>i{font-size:30px;font-style:normal}.loading-challenge-notice>span{display:grid;gap:2px;text-align:left}.loading-challenge-notice small{color:#d2d2d7}.loading-progress{width:min(420px,100%);height:7px;margin:18px auto 30px;overflow:hidden;border-radius:999px;background:#e5e9e7}.loading-progress i{height:100%;display:block;border-radius:inherit;background:#248a5a;transition:width .22s ease}.loading-wisdom{min-height:148px;padding:24px;display:grid;align-content:center;border-radius:22px;color:#f5f7f6;background:#263b32}.loading-wisdom span{color:#b8dac9;font-size:11px;font-weight:700;letter-spacing:.12em}.loading-wisdom blockquote{margin:12px 0 9px;font-size:clamp(18px,3vw,24px);font-weight:600;line-height:1.45}.loading-wisdom cite{color:#b9c4bf;font-size:12px;font-style:normal}.loading-back{margin-top:22px}@keyframes loading-tile-pulse{0%,to{opacity:.55;transform:translateY(0) scale(.92)}50%{opacity:1;transform:translateY(-4px) scale(1)}}.instructions-modal{width:min(560px,calc(100vw - 32px));padding:36px;border-radius:28px;background:#fff;text-align:center}.instructions-modal h2{margin:4px 0 24px;font-size:34px}.instructions-list{display:grid;gap:10px;text-align:left}.instructions-list section{padding:14px;display:grid;grid-template-columns:42px 1fr;gap:12px;border-radius:16px;background:#f5f5f7}.instructions-list section>b{color:var(--primary);font-size:14px}.instructions-list strong{font-size:18px}.instructions-list p{margin:4px 0 0;color:#555;font-size:14px;line-height:1.45}.game-layout{flex:1;min-height:0;width:min(1180px,100%);margin:0 auto;padding:8px 24px 12px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;overflow:hidden}.play-area{min-width:0;min-height:0}.game-status-panel{--status-card-size: calc(var(--board-size) / var(--board-dimension));min-width:0;flex:1 1 auto;margin:0;padding:5px 8px;display:grid;grid-template-columns:minmax(150px,auto) minmax(360px,1fr);align-items:center;gap:12px;border:1px solid var(--hairline);border-radius:14px;background:#fff}.game-status-panel.hard-level{border-color:#df9fa4;background:#fff1f2;box-shadow:inset 0 0 0 1px #b025300d}.status-main.level-summary{display:grid;grid-template-columns:auto minmax(140px,260px) auto auto var(--status-card-size);align-items:center;gap:12px}.game-level-identity{min-width:0;display:grid;align-content:center}.game-level-identity>.eyebrow{margin:0;font-size:9px}.game-level-identity>strong{font-size:17px;line-height:1.05}.game-level-progress{display:none;color:var(--muted);font-size:10px}.level-summary>div:not(.reserve-area){display:grid;gap:1px}.level-summary span,.reserve-heading span{color:var(--muted);font-size:11px}.level-summary strong{font-size:17px}.level-timer{min-width:0;padding:0 2px;transition:color .18s ease}.level-timer-heading{display:flex;align-items:baseline;gap:9px;position:relative}.level-timer-heading span,.level-timer-heading small{color:var(--muted);font-size:12px}.level-timer-heading strong{min-width:48px;font-size:18px;font-variant-numeric:tabular-nums}.level-timer-heading small{margin-left:auto}.level-timer-track{width:min(100%,260px);height:6px;margin-top:8px;overflow:hidden;border-radius:999px;background:#e8e8ed}.level-timer-track i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#34c759,#63d977);transition:width .1s linear,background .18s ease}.level-timer.danger [data-level-time]{color:#d70015;animation:timer-danger-pulse .8s ease-in-out infinite alternate}.time-bonus-pop{position:absolute;right:0;bottom:24px;padding:5px 9px;border-radius:999px;color:#fff;background:#248a3d;box-shadow:0 5px 15px #248a3d3d;font-size:12px;animation:time-bonus-rise 1.1s ease forwards}@keyframes timer-danger-pulse{to{opacity:.48}}@keyframes time-bonus-rise{0%{opacity:0;transform:translateY(8px) scale(.86)}25%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-18px) scale(.94)}}.reserve-heading{display:flex;align-items:center;justify-content:center;gap:4px;line-height:1;font-size:10px}.reserve-heading b{font-size:10px;font-weight:600;white-space:nowrap}.reserve-heading i{font-style:normal}.reserve-area{min-width:0;display:grid;gap:4px;justify-items:center}.status-coins{min-width:42px;text-align:center}.status-coins strong{font-variant-numeric:tabular-nums}.coin-status-icon,.game-menu-stats .coin-stat i,.game-menu-stats .coin-stat b{color:#b77900}.reserve-game-info{min-width:0;min-height:0;margin-top:3px;padding-top:0;display:flex;align-items:center;gap:5px;border-top:0}.reserve-game-info strong{overflow:hidden;font-size:10px;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.hard-level-notice{margin-right:7px;padding:3px 7px;border:1px solid #bd4b55;border-radius:999px;color:#74151d;background:#ffe1e4;font-size:10px;font-weight:700;white-space:nowrap}.reserve-game-info span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.reserve-stack{width:min(var(--status-card-size),52px);aspect-ratio:2 / 3;padding:0;position:relative}.reserve-stack:before,.reserve-stack:after{content:"";position:absolute;border:1px solid #111;border-radius:11%;background:#f7f7f8}.reserve-stack:before{inset:0 3px 3px 0}.reserve-stack:after{inset:2px 1px 1px 2px}.stack-card{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;border:2px solid white;outline:1px solid #111;border-radius:11%;color:#d2d2d7;background:linear-gradient(135deg,transparent 42%,rgb(255 255 255 / 8%) 42% 58%,transparent 58%),radial-gradient(circle at center,#3d3d41 0 18%,#29292c 19% 48%,#1f1f21 49%);box-shadow:inset 0 0 0 1px #00000073;position:relative;z-index:2}.stack-card i{font-size:clamp(22px,calc(var(--status-card-size) * .23),42px);font-style:normal}.reserve-stack b{min-width:28px;padding:3px 7px;position:absolute;right:7px;bottom:7px;border:1px solid rgb(255 255 255 / 28%);border-radius:999px;color:#fff;background:#0000009e;font-size:clamp(12px,calc(var(--status-card-size) * .1),18px);font-variant-numeric:tabular-nums;text-align:center}.reserve-stack.empty{opacity:.28}.board-wrap{width:var(--board-size);margin:0 auto;padding:1px;overflow:visible;border:1px solid #000;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px #fff}.puzzle-board{width:100%;aspect-ratio:2 / 3;position:relative;display:grid;grid-template-columns:repeat(var(--board-dimension, 4),1fr);grid-template-rows:repeat(var(--board-dimension, 4),1fr);gap:0;overflow:hidden;border-radius:17px;background:#272729;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.puzzle-board.cards-in-flight{overflow:visible;position:relative;z-index:30}.puzzle-card,.board-empty{position:relative;min-width:0;min-height:0;border-radius:8px}.puzzle-card{--deal-deck-scale: 1;--frame-top-inset: 0px;--frame-right-inset: 0px;--frame-bottom-inset: 0px;--frame-left-inset: 0px;--frame-top-width: 1px;--frame-right-width: 1px;--frame-bottom-width: 1px;--frame-left-width: 1px;--white-top-offset: 1px;--white-right-offset: 1px;--white-bottom-offset: 1px;--white-left-offset: 1px;--image-inset-top: 3px;--image-inset-right: 3px;--image-inset-bottom: 3px;--image-inset-left: 3px;--inner-top-color: white;--inner-right-color: white;--inner-bottom-color: white;--inner-left-color: white;--white-radius-top-left: 0px;--white-radius-top-right: 0px;--white-radius-bottom-right: 0px;--white-radius-bottom-left: 0px;--corner-fill-top-left: transparent;--corner-fill-top-right: transparent;--corner-fill-bottom-right: transparent;--corner-fill-bottom-left: transparent;width:100%;height:100%;padding:var(--image-inset-top) var(--image-inset-right) var(--image-inset-bottom) var(--image-inset-left);overflow:visible;border:0;background-color:#d2d2d7;background-repeat:no-repeat;background-origin:border-box;background-clip:content-box;cursor:grab;transition:outline-color .14s ease;z-index:1;user-select:none;touch-action:none;-webkit-user-drag:none;-webkit-user-select:none;-webkit-touch-callout:none;border-radius:0}.low-saturation-image{filter:saturate(.2)}.puzzle-card *{-webkit-user-drag:none;-webkit-user-select:none;-webkit-touch-callout:none}.card-frame-outline{position:absolute;top:var(--frame-top-inset);right:var(--frame-right-inset);bottom:var(--frame-bottom-inset);left:var(--frame-left-inset);overflow:visible;border-style:solid;border-color:#000;border-width:var(--frame-top-width) var(--frame-right-width) var(--frame-bottom-width) var(--frame-left-width);border-radius:inherit;box-shadow:none;pointer-events:none;z-index:3}.card-frame-outline:after{content:"";position:absolute;top:var(--white-top-offset);right:var(--white-right-offset);bottom:var(--white-bottom-offset);left:var(--white-left-offset);box-sizing:border-box;border-style:solid;border-width:2px;border-color:var(--inner-top-color) var(--inner-right-color) var(--inner-bottom-color) var(--inner-left-color);border-radius:var(--white-radius-top-left) var(--white-radius-top-right) var(--white-radius-bottom-right) var(--white-radius-bottom-left)}.card-frame-outline:before{content:"";position:absolute;inset:0;display:block;background:linear-gradient(var(--corner-fill-top-left),var(--corner-fill-top-left)) top var(--white-top-offset) left var(--white-left-offset) / 2px 2px no-repeat,linear-gradient(var(--corner-fill-top-right),var(--corner-fill-top-right)) top var(--white-top-offset) right var(--white-right-offset) / 2px 2px no-repeat,linear-gradient(var(--corner-fill-bottom-right),var(--corner-fill-bottom-right)) bottom var(--white-bottom-offset) right var(--white-right-offset) / 2px 2px no-repeat,linear-gradient(var(--corner-fill-bottom-left),var(--corner-fill-bottom-left)) bottom var(--white-bottom-offset) left var(--white-left-offset) / 2px 2px no-repeat;z-index:1}.puzzle-card.dealing:before,.puzzle-card.refilling:before{content:"";position:absolute;inset:0;border:1px solid #000;border-radius:inherit;background:#272729;box-shadow:inset 0 0 0 1px #fff;z-index:8;animation:card-flip-away .24s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--deal-delay) + .43s)}.puzzle-card.dealing,.puzzle-card.refilling{z-index:6;animation:deal-card-in .98s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:var(--deal-delay);will-change:transform,opacity}.puzzle-card.refilling{animation-duration:1.18s}.puzzle-card.joined-top{--frame-top-width: 0px;--white-top-offset: 0px;--inner-top-color: transparent;--image-inset-top: 0px}.puzzle-card.joined-right{--frame-right-width: 0px;--white-right-offset: 0px;--inner-right-color: transparent;--image-inset-right: 0px}.puzzle-card.joined-bottom{--frame-bottom-width: 0px;--white-bottom-offset: 0px;--inner-bottom-color: transparent;--image-inset-bottom: 0px}.puzzle-card.joined-left{--frame-left-width: 0px;--white-left-offset: 0px;--inner-left-color: transparent;--image-inset-left: 0px}.puzzle-card.joined-top:not(.joined-left),.puzzle-card.joined-left:not(.joined-top){--corner-fill-top-left: white}.puzzle-card.joined-top:not(.joined-right),.puzzle-card.joined-right:not(.joined-top){--corner-fill-top-right: white}.puzzle-card.joined-bottom:not(.joined-right),.puzzle-card.joined-right:not(.joined-bottom){--corner-fill-bottom-right: white}.puzzle-card.joined-bottom:not(.joined-left),.puzzle-card.joined-left:not(.joined-bottom){--corner-fill-bottom-left: white}.puzzle-card.shared-border-right{--frame-right-width: 0px;--white-right-offset: 0px;--image-inset-right: 2px}.puzzle-card.shared-border-bottom{--frame-bottom-width: 0px;--white-bottom-offset: 0px;--image-inset-bottom: 2px}.puzzle-card.outer-corner-top-left{border-top-left-radius:8px;--white-radius-top-left: 7px}.puzzle-card.outer-corner-top-right{border-top-right-radius:8px;--white-radius-top-right: 7px}.puzzle-card.outer-corner-bottom-right{border-bottom-right-radius:8px;--white-radius-bottom-right: 7px}.puzzle-card.outer-corner-bottom-left{border-bottom-left-radius:8px;--white-radius-bottom-left: 7px}.puzzle-card.board-corner-top-left{border-top-left-radius:17px;--white-radius-top-left: 16px}.puzzle-card.board-corner-top-right{border-top-right-radius:17px;--white-radius-top-right: 16px}.puzzle-card.board-corner-bottom-right{border-bottom-right-radius:17px;--white-radius-bottom-right: 16px}.puzzle-card.board-corner-bottom-left{border-bottom-left-radius:17px;--white-radius-bottom-left: 16px}.puzzle-card.selected{filter:brightness(1.08);z-index:4}.puzzle-card.low-saturation-image.selected{filter:saturate(.2) brightness(1.08)}.puzzle-card.selected .card-frame-outline{border-color:#22c7ef;filter:drop-shadow(0 0 2px rgb(34 199 239 / 90%))}.puzzle-card.completing{--image-inset-top: 0px;--image-inset-right: 0px;--image-inset-bottom: 0px;--image-inset-left: 0px;opacity:0;border-radius:0;z-index:16;pointer-events:none;animation:none}.puzzle-card.completing .card-frame-outline{display:none}.puzzle-card.completing.quadrant-0{transform-origin:right bottom}.puzzle-card.completing.quadrant-1{transform-origin:left bottom}.puzzle-card.completing.quadrant-2{transform-origin:right top}.puzzle-card.completing.quadrant-3{transform-origin:left top}.puzzle-card.hint-swap,.board-empty.hint-swap{animation:hint-pulse .8s ease-in-out infinite alternate;z-index:10}.puzzle-card.skill-preview{z-index:15;pointer-events:none;animation:skill-preview-pulse .54s ease-in-out infinite alternate}.puzzle-card.dragging{cursor:grabbing;filter:brightness(1.06);pointer-events:none;transition:none;z-index:20;will-change:transform}.puzzle-card.low-saturation-image.dragging{filter:saturate(.2) brightness(1.06)}.puzzle-card.drop-target,.board-empty.drop-target{outline:0;filter:brightness(1.12) saturate(1.08);z-index:12}.puzzle-card.low-saturation-image.drop-target{filter:saturate(.2) brightness(1.12)}.board-empty{border:1px dashed rgb(255 255 255 / 18%);border-radius:0}.move-instruction{width:var(--board-size);min-height:50px;margin:14px auto 0;color:#333;font-size:14px;line-height:1.47;text-align:center}.game-panel{position:sticky;top:96px;padding:28px;border:1px solid var(--hairline);border-radius:18px;background:#fff}.game-panel h2{margin:0 0 14px;font-size:34px;line-height:1.1;letter-spacing:-.03em}.game-panel>p:not(.eyebrow){margin:0;color:#333;font-size:15px;line-height:1.47}.game-tools-panel{align-self:start}.game-tools-panel .tool-list{margin-top:0}.tool-list{display:grid;gap:10px;margin-top:24px}.tool-button{min-height:64px;padding:10px 14px;display:flex;align-items:center;gap:12px;border:1px solid var(--hairline);border-radius:11px;background:#fafafc;cursor:pointer;text-align:left}.tool-button:disabled{opacity:.42;cursor:not-allowed}.tool-button>span:last-child{display:grid}.tool-button small{margin-top:3px;color:var(--muted)}.tool-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--primary);font-size:19px}.text-button{min-height:44px;margin-top:20px;padding:8px 0;border:0;color:var(--primary);background:transparent;cursor:pointer}.gallery-page{flex:1;min-height:0;padding-bottom:16px;display:flex;flex-direction:column;overflow:hidden}.gallery-intro{max-width:920px;margin:0 auto;padding:20px 24px 14px;flex:0 0 auto;text-align:center}.gallery-intro h1{margin:0 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.07;letter-spacing:-.035em}.gallery-intro p{max-width:680px;margin:0 auto;color:#333;font-size:17px;line-height:1.47}.gallery-intro-compact{padding-bottom:14px}.gallery-stats{max-width:620px;margin:12px auto 10px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--hairline);border-radius:18px;background:#fff}.gallery-stats span{padding:10px 12px;display:grid;gap:4px}.gallery-stats span+span{border-left:1px solid var(--hairline)}.gallery-stats b{font-size:25px;letter-spacing:-.03em}.gallery-stats small{color:var(--muted);font-size:12px}.gallery-filters{width:min(1200px,calc(100% - 40px));margin:0 auto 12px;flex:0 0 auto;display:flex;justify-content:center;gap:8px;overflow-x:auto;scrollbar-width:none}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filter{min-height:42px;padding:9px 15px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--hairline);border-radius:999px;color:#424245;background:#fff;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.gallery-filter span{min-width:22px;padding:2px 6px;border-radius:999px;color:var(--muted);background:#f2f2f7;font-size:11px}.gallery-filter.active{border-color:var(--ink);color:#fff;background:var(--ink)}.gallery-filter.active span{color:var(--ink);background:#fff}.pack-grid{flex:1;min-height:0;width:min(1200px,calc(100% - 40px));margin:0 auto;padding:2px 4px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;gap:20px;align-content:start;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;cursor:grab}.gallery-empty{grid-column:1 / -1;padding:64px 24px;border:1px dashed var(--hairline);border-radius:18px;color:var(--muted);text-align:center}.pack-card{min-width:0;padding:0;overflow:hidden;border:1px solid var(--hairline);border-radius:18px;background:#fff;text-align:left}.pack-open-button{width:100%;padding:0;display:grid;border:0;background:transparent;cursor:pointer;color:inherit;text-align:left}.pack-cover{position:relative;aspect-ratio:4 / 3;display:grid;place-items:center;background-color:#e8e8ed;background-repeat:no-repeat}.pack-card.locked .pack-cover{filter:none}.pack-card.unaffordable{border-color:#d2d2d7;background:#f0f0f2}.pack-card.unaffordable .pack-cover{filter:none}.pack-card.locked .pack-cover:after{position:absolute;z-index:1;content:"";inset:0;background:#0000004d;-webkit-backdrop-filter:saturate(.55) brightness(.78);backdrop-filter:saturate(.55) brightness(.78);pointer-events:none}.pack-card.unaffordable .pack-cover:after{background:#f2f2f752;-webkit-backdrop-filter:grayscale(1) brightness(.82);backdrop-filter:grayscale(1) brightness(.82)}.pack-card.unaffordable .pack-info em{color:#86868b}.pack-lock{position:relative;z-index:2;padding:7px 12px;border-radius:999px;color:#fff;background:#000000b8;font-size:12px;font-weight:600}.pack-lock del{margin-right:6px;color:#d2d2d7}.pack-lock b{color:#ffd60a}.pack-new-badge,.pack-sale-badge{position:absolute;top:10px;z-index:2;padding:5px 9px;border:1px solid rgb(255 255 255 / 72%);border-radius:999px;box-shadow:0 4px 12px #0000002e;font-size:11px;font-weight:800;letter-spacing:.04em}.pack-new-badge{left:10px;color:#fff;background:#ff3b30}.pack-sale-badge{right:10px;color:#3a2500;background:#ffd60a}.pack-info{padding:16px;display:grid}.pack-info b{font-size:18px;letter-spacing:-.02em}.pack-info small{margin-top:4px;color:var(--muted)}.pack-info em{margin-top:9px;color:var(--primary);font-size:13px;font-style:normal;font-weight:600}.pack-price{display:inline-flex;gap:8px;align-items:baseline}.pack-price del{color:#86868b;font-size:12px}.pack-price strong{color:#d44800}.pack-progress{height:4px;margin-top:14px;overflow:hidden;border-radius:999px;background:#e8e8ed}.pack-progress i{height:100%;display:block;background:var(--primary)}.pack-card.completed{border-color:#57a773;background:linear-gradient(180deg,#f4fff7,#e7f8ec);box-shadow:0 10px 28px #1f7a4124}.pack-card.completed .pack-progress i{background:#248a4b}.pack-card.completed .pack-info em{color:#18763d}.pack-card.reward-claimable{border-color:#e1a51a;background:linear-gradient(180deg,#fff8df,#f1ffe9);box-shadow:0 16px 36px #c68c002e}.pack-complete-badge{position:absolute;right:10px;bottom:10px;padding:7px 11px;border:1px solid rgb(255 255 255 / 74%);border-radius:999px;color:#fff;background:#18763de5;box-shadow:0 4px 14px #0000002e;font-size:12px;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pack-reward-hint{position:absolute;left:10px;bottom:10px;z-index:3;padding:7px 10px;display:inline-flex;align-items:center;gap:5px;border:1px solid rgb(255 255 255 / 78%);border-radius:999px;color:#3a2500;background:#ffd60a;box-shadow:0 8px 22px #00000038;font-size:13px;font-weight:900}.pack-reward-hint i{color:#d59b16;font-style:normal}.pack-reward-button{width:calc(100% - 24px);min-height:42px;margin:0 12px 14px;border:0;border-radius:999px;color:#3a2500;background:linear-gradient(180deg,#ffe36c,#ffc233);box-shadow:0 10px 22px #c68c0038;cursor:pointer;font-size:15px;font-weight:900}.gallery-grid{flex:1;min-height:0;width:min(1400px,calc(100% - 40px));margin:0 auto;padding:2px 4px 24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-content:start;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;cursor:grab}.gallery-card{min-width:0;padding:0;overflow:hidden;border:1px solid var(--hairline);border-radius:18px;background:#fff;cursor:pointer;text-align:left}.level-path.scroll-dragging,.pack-grid.scroll-dragging,.gallery-grid.scroll-dragging{cursor:grabbing;scroll-behavior:auto}.level-path.scroll-dragging *,.pack-grid.scroll-dragging *,.gallery-grid.scroll-dragging *{pointer-events:none}.gallery-image{aspect-ratio:2 / 3;display:grid;place-items:center;background-color:#e8e8ed;background-repeat:no-repeat}.gallery-card.locked{color:var(--muted)}.gallery-card>span:last-child{padding:14px 16px 16px;display:grid;overflow:hidden}.gallery-card b{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.gallery-card small{margin-top:3px;color:var(--muted)}.lock-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#7a7a7a;font-size:20px}.modal-backdrop{position:fixed;inset:0;padding:24px;display:grid;place-items:center;background:#000000b8;z-index:100}.modal-backdrop:has(.pause-modal),.modal-backdrop:has(.ad-modal){background:#0a0a0c8a;-webkit-backdrop-filter:blur(14px) saturate(.72);backdrop-filter:blur(14px) saturate(.72)}.level-modal{width:min(560px,100%);overflow:hidden;border-radius:24px;background:#fff}.pause-modal,.timeout-modal,.ad-modal{width:min(460px,100%);padding:44px 36px;border:1px solid rgb(255 255 255 / 72%);border-radius:24px;background:#ffffffeb;box-shadow:0 26px 80px #00000061;text-align:center}.pause-modal h2,.timeout-modal h2,.ad-modal h2{margin:0 0 12px;font-size:42px;letter-spacing:-.035em}.pause-modal p:not(.eyebrow),.timeout-modal p:not(.eyebrow),.ad-modal p:not(.eyebrow){color:#424245;line-height:1.5}.pause-modal .button{min-width:180px;margin:18px auto 12px}.pause-modal small{display:block;color:var(--muted)}.game-menu-modal{width:min(520px,100%);max-height:min(760px,calc(100dvh - 32px));padding:30px;overflow-y:auto;overscroll-behavior:contain}.game-menu-modal h2{margin-bottom:20px;font-size:36px}.game-menu-stats{padding:14px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;border-radius:18px;background:#f1f2f4}.game-menu-stats span{min-width:0;display:grid;justify-items:center;gap:2px}.game-menu-stats i{color:var(--primary);font-size:18px;font-style:normal}.game-menu-stats b{font-size:16px;font-variant-numeric:tabular-nums}.game-menu-stats small{font-size:10px}.game-menu-list{margin-top:16px;display:grid;gap:7px}.game-menu-list button,.game-menu-list .shell-menu-link,.game-menu-list .shell-menu-language{width:100%;min-height:58px;padding:9px 14px;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;border:0;border-radius:14px;color:var(--ink);background:#f5f5f7;cursor:pointer;text-align:left;text-decoration:none}.game-menu-list button>i,.game-menu-list .shell-menu-link>i,.game-menu-list .shell-menu-language>i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--primary);background:#fff;font-size:17px;font-style:normal}.game-menu-list button>span,.game-menu-list .shell-menu-link>span,.game-menu-list .shell-menu-language>span{min-width:0;display:grid;gap:2px}.game-menu-list button b,.game-menu-list .shell-menu-link b,.game-menu-list .shell-menu-language b{font-size:15px}.game-menu-list button small,.game-menu-list .shell-menu-link small,.game-menu-list .shell-menu-language small{font-size:11px}.shell-menu-modal>.button{width:100%;margin-top:14px}.shell-menu-language .language-select{min-height:28px;padding:0;color:var(--ink);border:0}.game-menu-list .game-menu-primary{color:#fff;background:var(--primary)}.game-menu-list .game-menu-primary>i{color:var(--primary)}.game-menu-list .game-menu-primary small{color:#ffffffbd}.game-menu-hint{margin-top:14px}.ad-play-icon{width:64px;height:64px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--ink);font-size:22px}.ad-progress{height:6px;margin-top:24px;overflow:hidden;border-radius:999px;background:#d2d2d7}.ad-progress i{height:100%;display:block;background:var(--primary);transform-origin:left;animation:simulated-ad-progress 3s linear forwards}@keyframes simulated-ad-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.purchase-modal{width:min(520px,100%);padding:40px;border-radius:18px;background:#fff;text-align:center}.purchase-modal h2{margin:0 0 14px;font-size:34px;letter-spacing:-.03em}.purchase-modal p{color:#333;line-height:1.47}.purchase-balance{font-weight:600}.modal-actions{margin-top:24px;display:flex;justify-content:center;gap:10px}.coin-reward{margin:14px auto 4px;display:block;color:var(--ink);font-size:30px;letter-spacing:-.03em}.level-modal{padding:40px;align-content:center}.level-modal h2{margin:0 0 12px;font-size:40px;letter-spacing:-.03em}.level-modal p:not(.eyebrow){color:#333;line-height:1.47}.level-modal .button{margin-top:16px}.level-modal{max-width:560px;text-align:center}.level-modal:has(.level-result-collage){position:relative;width:min(820px,100%);max-width:820px;min-height:620px;padding:52px;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 50% 45%,rgb(255 255 255 / 28%),transparent 48%),#171719}.level-result-collage{position:absolute;inset:0;overflow:hidden;border-radius:inherit;z-index:-1}.level-result-collage:after{position:absolute;inset:0;background:#00000045;content:""}.level-result-photo{position:absolute;width:210px;aspect-ratio:2 / 3;border:8px solid white;border-radius:18px;background-repeat:no-repeat;box-shadow:0 18px 46px #00000061;opacity:0;animation:result-photo-arrive .72s calc(90ms * var(--result-index)) cubic-bezier(.2,.78,.24,1) forwards}.level-result-photo-1{top:-42px;left:-34px;rotate:-11deg}.level-result-photo-2{top:-34px;right:-24px;rotate:9deg}.level-result-photo-3{top:210px;left:-94px;rotate:7deg}.level-result-photo-4{top:220px;right:-90px;rotate:-8deg}.level-result-photo-5{bottom:-56px;left:-20px;rotate:8deg}.level-result-photo-6{right:-22px;bottom:-50px;rotate:-10deg}.level-result-photo-7{bottom:-105px;left:290px;rotate:4deg}.level-result-photo-8{top:-118px;left:310px;rotate:-5deg}.level-result-content{width:min(470px,100%);padding:36px;border:1px solid rgb(255 255 255 / 70%);border-radius:26px;background:#ffffffe8;box-shadow:0 24px 70px #00000059;-webkit-backdrop-filter:blur(24px) saturate(1.15);backdrop-filter:blur(24px) saturate(1.15)}.level-result-content .eyebrow{color:var(--primary)}@keyframes result-photo-arrive{0%{opacity:0;scale:.72;translate:0 46px}to{opacity:1;scale:1;translate:0 0}}.completion-fx{position:fixed;inset:0;display:grid;place-items:center;background:#0000005c;pointer-events:none;z-index:110;animation:completion-backdrop 1.65s ease forwards}.completion-fx.from-board{visibility:hidden;animation-play-state:paused}.completion-fx.from-board.ready{visibility:visible;animation-play-state:running}.completion-frame{width:min(calc(var(--board-size) - 4px),calc(100vw - 16px),640px);aspect-ratio:2 / 3;border:1px solid #000;border-radius:18px;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px #fff,#00000038 3px 5px 30px;animation:completion-picture 1.65s cubic-bezier(.2,.8,.2,1) forwards}.completion-fx.from-board .completion-frame{--completion-source-x: 0px;--completion-source-y: 0px;--completion-source-scale: .5;--completion-target-x: 0px;--completion-target-y: 0px;animation-name:completion-picture-from-board;animation-play-state:paused}.completion-fx.from-board.ready .completion-frame{animation-play-state:running}.skill-draw-fx{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:105}.skill-combine-piece{position:absolute;top:0;left:0;width:var(--skill-card-width, min(22vw, 150px));height:var(--skill-card-height, min(33vw, 225px));border:1px solid #000;border-radius:14px;background-repeat:no-repeat;box-shadow:inset 0 0 0 3px #fff,0 18px 45px #00000059;opacity:0;animation:skill-card-flight 1.05s calc(var(--skill-draw-index) * .42s) cubic-bezier(.2,.8,.2,1) forwards}.skill-combine-piece:before{content:none}.skill-drawn-piece:before{position:absolute;inset:0;display:grid;place-items:center;border:3px solid white;border-radius:inherit;color:#d2d2d7;background:#272729;content:"◫";font-size:24px;animation:skill-card-reveal .42s calc(var(--skill-draw-index) * .42s) ease-in forwards;backface-visibility:hidden}.completion-fx.has-drawn-pieces .completion-frame{animation-delay:.22s;animation-duration:1.43s}.auto-drawn-piece{position:absolute;top:50%;left:50%;width:min(19vmin,150px);aspect-ratio:2 / 3;overflow:hidden;border:1px solid #000;border-radius:11px;background-repeat:no-repeat;box-shadow:inset 0 0 0 2px #fff,#00000038 3px 5px 30px;opacity:0;z-index:2;animation:auto-drawn-piece-flight .88s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--draw-index) * .11s)}.new-collection-pop{position:absolute;bottom:max(8vh,44px);padding:11px 22px;border-radius:999px;color:#fff;background:var(--primary);font-size:21px;font-weight:600;letter-spacing:-.02em;animation:collection-pop .9s cubic-bezier(.2,1.4,.4,1) .36s both}.image-viewer{width:min(900px,100%);max-height:calc(100vh - 48px);overflow:hidden;border-radius:18px;background:#fff}.image-viewer-stage{position:relative;display:grid;place-items:center;overflow:hidden;background:#000}.image-viewer img{width:100%;max-height:calc(100vh - 140px);display:block;object-fit:contain;background:#000;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.viewer-nav{width:44px;height:44px;padding:0;display:grid;place-items:center;position:absolute;z-index:2;border:1px solid rgb(255 255 255 / 46%);border-radius:50%;color:#fff;background:#0000007a;box-shadow:0 4px 20px #00000042;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:25px;cursor:pointer}.viewer-image-prev{left:14px}.viewer-image-next{right:14px}.viewer-pack-prev{top:14px}.viewer-pack-next{bottom:14px}.viewer-nav:hover{background:#000000b8}.image-viewer footer{min-height:76px;padding:12px 16px 12px 24px;display:flex;align-items:center;gap:16px}.image-viewer footer>div{display:grid}.image-viewer footer span{color:var(--muted);font-size:14px}.image-viewer footer small{margin-top:3px;color:#86868b;font-size:12px}.image-viewer footer .icon-button{margin-left:auto}.live-notice{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));max-width:calc(100vw - 32px);min-height:0;padding:0;border-radius:999px;color:#fff;background:transparent;transform:translate(-50%);z-index:80;pointer-events:none}.live-notice:not(:empty){min-height:44px;padding:11px 20px;background:#1d1d1feb;animation:live-notice-autohide 3.2s ease forwards}@keyframes live-notice-autohide{0%,72%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}.coin-fly-fx{position:fixed;inset:0;z-index:120;pointer-events:none}.coin-fly-fx i{position:absolute;left:50%;top:58%;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#8a5a00;background:radial-gradient(circle at 35% 30%,#fff7a8 0 22%,#ffd60a 23% 62%,#d59b16 63%);box-shadow:0 8px 20px #c68c0057;font-size:0;transform:translate(-50%,-50%);animation:coin-fly-to-bank 1.35s cubic-bezier(.18,.82,.24,1) forwards;animation-delay:calc(var(--coin-index) * 42ms)}.coin-fly-fx i:after{content:"";width:7px;height:11px;border-radius:999px;background:#8a5a006b}.coin-fly-label{position:absolute;left:50%;top:48%;padding:8px 14px;border-radius:999px;color:#3a2500;background:#ffd60a;box-shadow:0 16px 38px #c68c0042;font-weight:900;transform:translate(-50%,-50%);animation:coin-label-pop 1.25s ease forwards}@keyframes coin-fly-to-bank{0%{opacity:0;transform:translate(-50%,-50%) scale(.45) rotate(0)}14%{opacity:1;transform:translate(calc(-50% + var(--coin-x)),-92px) scale(1.08) rotate(140deg)}to{opacity:0;transform:translate(calc(-50% + var(--coin-target-x) + var(--coin-index) * 1px),calc(-50% + var(--coin-target-y) + var(--coin-index) * -1px)) scale(.28) rotate(520deg)}}@keyframes coin-label-pop{0%{opacity:0;transform:translate(-50%,-40%) scale(.78)}18%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-72%) scale(.92)}}.collection-toast{min-width:190px;padding:14px 22px;display:grid;gap:3px;border:1px solid rgb(255 255 255 / 70%);border-radius:999px;color:#fff;background:#000000d1;box-shadow:0 18px 48px #0000003d;text-align:center;position:fixed;left:50%;top:27%;z-index:110;transform:translate(-50%);pointer-events:none;animation:collection-toast-pop 1.3s cubic-bezier(.2,.8,.2,1) both}.collection-toast strong{font-size:17px}.collection-toast span{color:#ddd;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes hint-pulse{0%{box-shadow:inset 0 0 0 4px #2997ff;filter:brightness(1)}to{box-shadow:inset 0 0 0 7px #2997ff;filter:brightness(1.12)}}@keyframes skill-preview-pulse{0%{box-shadow:inset 0 0 0 5px #ffd60a,0 0 #ffd60a33;filter:brightness(1.03) saturate(1.05)}to{box-shadow:inset 0 0 0 7px #ffd60a,0 0 28px 8px #ffd60aa3;filter:brightness(1.32) saturate(1.18)}}@keyframes collected-photo-breathe{0%,to{opacity:.48;filter:saturate(.82) brightness(.82)}32%,68%{opacity:1;filter:saturate(1) brightness(1)}}@keyframes completed-group{0%{filter:brightness(1);transform:translate(0) scale(1)}16%{filter:brightness(1.42) saturate(1.16);transform:translate(-3px) scale(1.015)}29%{transform:translate(3px) scale(1.025)}42%{filter:brightness(1.12);transform:translate(-2px) scale(1.04)}58%{opacity:1;transform:translate(0) scale(1.08)}to{opacity:0;filter:brightness(1.3);transform:translate(0) scale(1.28)}}@keyframes deal-card-in{0%,12%{opacity:0;transform:translate(var(--deal-deck-x),var(--deal-deck-y)) rotateY(0) scale(var(--deal-deck-scale))}18%{opacity:1;transform:translate(var(--deal-deck-x),var(--deal-deck-y)) rotateY(0) scale(var(--deal-deck-scale))}42%,66%{opacity:1;transform:translateY(var(--deal-top-y)) rotateY(0) scale(1)}to{opacity:1;transform:translate(0) rotateY(0) scale(1)}}@keyframes card-flip-away{0%{opacity:1;transform:rotateY(0)}to{opacity:0;transform:rotateY(90deg)}}.deal-rule-hint{min-width:min(360px,calc(100vw - 32px));padding:15px 20px;position:fixed;top:50%;left:50%;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid rgb(255 255 255 / 38%);border-radius:18px;color:#fff;background:#17171aeb;box-shadow:0 18px 48px #00000047;pointer-events:none;transform:translate(-50%,-50%);z-index:120;animation:deal-rule-hint-show 3.2s ease both}.deal-rule-hint>span:last-child{display:grid;gap:3px}.deal-rule-hint b{font-size:17px}.deal-rule-hint small{color:#d2d2d7;font-size:13px}.deal-rule-grid{width:42px;height:58px;padding:3px;display:grid;grid-template-columns:repeat(var(--deal-rule-columns, 2),1fr);grid-template-rows:repeat(var(--deal-rule-rows, 3),1fr);gap:2px;border:1px solid white;border-radius:7px}.deal-rule-grid i{border-radius:2px;background:#78b9ff}.deal-rule-grayscale{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border:2px solid white;border-radius:50%;font-size:30px;line-height:1;background:linear-gradient(90deg,#f5f5f7 50%,#252528 50%);color:#7d7d83}.deal-rule-hint.low-saturation-rule-hint{border-color:#ffffff9e;animation-duration:4.2s}@keyframes deal-rule-hint-show{0%{opacity:0;transform:translate(-50%,-44%) scale(.92)}10%,80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-54%) scale(.98)}}@keyframes skill-card-flight{0%,18%{opacity:0;transform:translate(var(--skill-start-x),var(--skill-start-y)) rotate(-8deg) scale(.72)}28%{opacity:1;transform:translate(var(--skill-start-x),var(--skill-start-y)) rotate(0) scale(.9)}66%{opacity:1;transform:translate(var(--skill-arc-x),var(--skill-arc-y)) rotate(8deg) scale(1.08)}78%{opacity:1;transform:translate(var(--skill-entry-x),var(--skill-entry-y)) rotate(0) scale(1)}to{opacity:1;transform:translate(var(--skill-target-x),var(--skill-target-y)) rotate(0) scale(1)}}@keyframes skill-card-reveal{0%,42%{opacity:1;transform:rotateY(0)}to{opacity:0;transform:rotateY(90deg)}}@keyframes completion-picture{0%{opacity:0;transform:scale(.56)}24%{opacity:1;transform:scale(1.06)}58%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.28)}}@keyframes completion-picture-from-board{0%{opacity:1;transform:translate(var(--completion-source-x),var(--completion-source-y)) scale(var(--completion-source-scale))}18%{opacity:1;filter:brightness(1.28) saturate(1.08);transform:translate(var(--completion-source-x),var(--completion-source-y)) scale(calc(var(--completion-source-scale) * 1.03))}58%,82%{opacity:1;filter:brightness(1) saturate(1);transform:translate(var(--completion-target-x),var(--completion-target-y)) scale(.8)}to{opacity:0;transform:translate(var(--completion-target-x),var(--completion-target-y)) scale(.86)}}@keyframes completion-backdrop{0%,75%{background:#0000005c}to{background:transparent}}@keyframes auto-drawn-piece-flight{0%{opacity:0;transform:translate(calc(-50% + var(--draw-x)),-48vh) rotateY(80deg) scale(.58)}24%{opacity:1}74%{opacity:1;transform:translate(calc(-50% + var(--draw-x)),-50%) rotateY(0) scale(.86)}to{opacity:0;transform:translate(-50%,-50%) scale(.42)}}@keyframes collection-pop{0%{opacity:0;transform:translateY(28px) scale(.7)}55%{opacity:1;transform:translateY(-8px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes collection-toast-pop{0%{opacity:0;transform:translate(-50%,22px) scale(.72)}20%{opacity:1;transform:translate(-50%,-7px) scale(1.08)}37%,72%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-14px) scale(.94)}}@media(min-width:1440px)and (min-height:760px)and (pointer:fine){:root{--board-size: min( calc(66.667dvh - 61.333px) , 620px)}.game-topbar{padding-inline:max(28px,calc((100vw - 1780px)/2))}.game-layout{width:min(calc(var(--board-size) + 430px),calc(100vw - 64px));padding:14px 0 18px;grid-template-columns:var(--board-size) minmax(300px,360px);gap:clamp(36px,3vw,72px);justify-content:center}.game-tools-panel{width:100%;margin-top:clamp(24px,8vh,130px)}}@media(max-width:1023px){:root{--board-size: min( calc(100vw - 16px) , calc(66.667dvh - 80px) , 560px)}.home-hero{grid-template-columns:1fr}.hero-mosaic{min-height:52vh}.hero-copy{max-width:none;padding:64px 40px}.game-layout{grid-template-columns:1fr}.game-panel{width:0;height:0;margin:0 auto;padding:0;border:0;background:transparent;position:static}.game-panel .text-button{display:none}.tool-list{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));margin:0;display:flex;gap:10px;z-index:70}.tool-button{width:56px;min-height:56px;padding:0;display:grid;place-items:center;border-radius:50%;background:#fff;position:relative}.tool-button>span:last-child{display:none}.tool-button:after{content:attr(data-count);min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border:2px solid white;border-radius:999px;color:#fff;background:var(--ink);font-size:10px;font-weight:600;position:absolute;right:-2px;bottom:-2px}.tool-icon{width:44px;height:44px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:641px)and (max-width:1200px),(min-width:641px)and (max-width:1366px)and (pointer:coarse){:root{--board-size: min( calc(100vw - 24px) , calc(66.667dvh - 68px) , 620px)}.game-topbar{padding-inline:10px;gap:8px}.game-topbar-inner>.game-status-panel{grid-template-columns:minmax(130px,auto) minmax(330px,1fr);gap:8px}.game-layout{padding-inline:12px;grid-template-columns:1fr;gap:0}.game-panel{width:0;height:0;margin:0 auto;padding:0;border:0;background:transparent;position:static}.tool-list{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));margin:0;display:flex;gap:10px;z-index:70}.tool-button{width:60px;min-height:60px;padding:0;display:grid;place-items:center;border-radius:50%;background:#fff;position:relative}.tool-button>span:last-child{display:none}.tool-button:after{content:attr(data-count);min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;border:2px solid white;border-radius:999px;color:#fff;background:var(--ink);font-size:10px;font-weight:600;position:absolute;right:-2px;bottom:-2px}}@media(orientation:portrait)and (max-width:1200px){:root{--board-size: min( calc(100vw - 16px) , calc(66.667dvh - 61.333px) , 620px)}.game-topbar{min-height:58px;padding:5px 8px;display:grid;grid-template-columns:40px minmax(0,1fr) 44px;gap:7px}.game-topbar-inner>.icon-button{grid-column:1;grid-row:1;width:40px;height:40px;flex-basis:40px}.game-topbar-inner>.game-status-panel{--status-card-size: 42px;width:100%;min-width:0;padding:6px 9px;grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(68px,auto) minmax(0,1fr);gap:6px;border-radius:15px}.game-topbar .reserve-area{width:38px;height:48px}.game-topbar .reserve-stack{width:34px;height:46px}.game-topbar-inner>.topbar-actions{display:none!important}.game-menu-toggle{width:44px!important;height:44px!important;display:grid!important;grid-column:3!important;grid-row:1!important;place-items:center;font-size:22px}.game-level-identity{min-width:0}.game-level-identity>.eyebrow{display:block;font-size:8px}.game-level-identity>strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.game-level-progress,.reserve-game-info{display:none}.status-main.level-summary{min-width:0;display:grid;grid-template-areas:"progress timer moves coins reserve";grid-template-columns:auto minmax(84px,220px) auto auto 52px;gap:clamp(4px,1.3vw,12px)}.status-progress{grid-area:progress}.level-timer{grid-area:timer}.status-moves{grid-area:moves}.status-coins{grid-area:coins}.reserve-area{grid-area:reserve}.status-progress,.status-moves,.status-coins{min-width:42px;display:grid!important;grid-template-columns:20px auto;align-items:center;justify-content:center;gap:3px!important}.status-icon{width:20px;height:20px;display:grid;place-items:center;color:var(--primary);font-size:16px;font-style:normal;line-height:1}.status-label,.level-timer-heading>.status-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.status-progress strong,.status-moves strong,.status-coins strong{min-width:0;font-size:clamp(14px,2.8vw,20px);line-height:1;white-space:nowrap}.level-timer{min-width:0}.level-timer-heading{min-width:0;display:grid;grid-template-columns:20px auto 1fr;align-items:center;gap:3px}.level-timer-heading strong{min-width:0;font-size:clamp(17px,3.6vw,24px);line-height:1;white-space:nowrap}.level-timer-heading small{margin-left:3px;justify-self:start;color:#248a4b;font-size:10px;font-weight:700;white-space:nowrap}.level-timer-heading small i{font-style:normal}.level-timer-track{height:5px;margin-top:5px}.reserve-area{width:34px;height:46px;display:grid;align-self:center;place-items:center}.reserve-heading{display:none}.reserve-stack{width:28px;height:42px}.reserve-stack:before{inset:-4px 6px 5px 0}.reserve-stack:after{inset:-2px 3px 2px 2px}.reserve-stack b{min-width:22px;padding:2px 5px;right:3px;bottom:3px;font-size:11px}.stack-card i{font-size:16px}.game-layout{padding:6px 0 8px}}@media(max-width:640px){:root{--board-size: min( calc(100vw - 16px) , calc(66.667dvh - 82px) )}.topbar{min-height:56px;padding-block:6px;padding-inline:12px;gap:8px}.topbar .icon-button{width:38px;height:38px;flex-basis:38px}.portal-link{min-height:34px;padding-inline:10px;font-size:13px}.game-topbar .coin-balance{display:none}.game-topbar .topbar-actions{gap:5px}.game-topbar{padding:4px 6px;gap:5px}.game-topbar-inner>.game-status-panel{min-width:0;padding:3px 5px;grid-template-columns:minmax(54px,62px) minmax(0,1fr);gap:5px;border-radius:11px}.game-level-identity>.eyebrow{display:none}.game-level-identity>strong{font-size:13px}.game-level-progress{display:none}.status-main.level-summary{grid-template-columns:36px minmax(72px,1fr) 30px 45px;gap:3px}.status-progress,.status-moves{min-width:0;grid-template-columns:16px auto;gap:1px!important}.status-icon{width:16px;height:16px;font-size:13px}.level-timer-heading{grid-template-columns:16px auto 1fr;gap:1px}.level-timer-heading small{display:none}.reserve-area{width:32px}.reserve-stack{width:26px;height:39px}.topbar-meta{font-size:12px}.topbar-dark .topbar-meta,.topbar-dark .brand-mark{display:none}.topbar-dark .coin-balance{min-height:34px;padding-inline:9px;font-size:13px}.coin-balance{padding-inline:10px}.gallery-topbar .gallery-total{display:none}.gallery-topbar .topbar-actions{gap:6px}.gallery-topbar .topbar-return{padding-inline:11px;font-size:13px}.hero-mosaic{min-height:52vh}.hero-game-title{font-size:clamp(42px,14vw,58px)}.hero-title-lockup{padding:12px 18px 11px}.hero-game-subtitle,.hero-title-lockup small{font-size:9px}.hero-copy{padding:48px 24px}.hero-copy h1{font-size:40px}.hero-copy>p{font-size:17px}.level-map-page{padding:10px 8px 8px;gap:10px}.level-map-intro h1{margin-bottom:4px;font-size:28px}.level-map-intro>p:not(.eyebrow){display:none}.level-map-intro .eyebrow{margin-bottom:2px}.continue-level{min-height:38px;margin-top:8px;padding-block:7px;font-size:14px}.level-path{padding:14px 6px 24px;grid-auto-rows:76px;max-height:none}.map-region-scene{margin:-8px 0 0;border-radius:18px;background-position:58% center}.map-region-scene:after{background:linear-gradient(90deg,rgb(255 255 255 / 78%) 0 31%,transparent 62% 100%)}.map-region-night:after{background:linear-gradient(90deg,rgb(24 37 48 / 82%) 0 31%,transparent 62% 100%)}.map-region-caption{display:none}.level-node{width:100%;height:100%}.level-node>span{width:50px;height:50px}.level-node.hard-level>span{width:58px;height:58px}.level-node small{top:calc(50% + 29px)}.purchase-modal{padding:30px 22px}.modal-actions{flex-direction:column-reverse}.game-layout{padding:8px 0;gap:0}.game-status-panel{margin:0}.status-main.level-summary{width:auto;grid-template-columns:minmax(72px,1fr) auto var(--status-card-size);gap:5px}.status-main.level-summary>div:first-child{display:none}.level-timer-heading{gap:5px}.level-timer-heading span,.level-timer-heading small{display:none}.level-timer-heading strong{min-width:0;font-size:16px}.level-timer-track{height:4px;margin-top:4px}.reserve-game-info strong{max-width:96px;font-size:8px;white-space:normal;line-height:1.15}.reserve-game-info>span:not(.hard-level-notice){display:none}.reserve-heading span,.reserve-heading{display:none}.hard-level-notice{display:inline-block;margin-bottom:3px}.board-wrap{padding:1px;border-radius:18px}.puzzle-board{gap:0}.puzzle-card{border-radius:0}.game-panel{width:0}.gallery-intro{padding:12px 12px 8px}.gallery-intro h1{font-size:24px}.gallery-intro>p{display:none}.gallery-grid{width:calc(100% - 24px);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pack-grid{width:calc(100% - 24px);grid-template-columns:1fr;gap:12px}.gallery-filters{width:100%;margin:0 0 8px;padding-inline:12px;justify-content:flex-start}.viewer-nav{width:38px;height:38px}.viewer-image-prev{left:8px}.viewer-image-next{right:8px}.viewer-pack-prev{top:8px}.viewer-pack-next{bottom:8px}.gallery-stats{margin:8px auto 4px;grid-template-columns:repeat(3,1fr)}.gallery-stats span+span{border-top:0;border-left:1px solid var(--hairline)}.gallery-stats span{padding:7px 5px}.gallery-stats b{font-size:19px}.gallery-card>span:last-child{padding:10px 12px 12px}.level-modal{padding:28px 24px}.level-modal h2{font-size:34px}.level-modal:has(.level-result-collage){min-height:min(680px,calc(100dvh - 28px));padding:22px 14px}.level-result-content{padding:28px 20px;border-radius:22px}.level-result-content .modal-actions{flex-direction:column}.level-result-photo{width:150px;border-width:6px;border-radius:14px}.level-result-photo-3,.level-result-photo-4{top:245px}.level-result-photo-7{left:120px}.level-result-photo-8{left:130px}.completion-frame{width:min(calc(var(--board-size) - 4px),calc(100vw - 16px))}}@media(max-width:480px){.game-topbar{display:grid;grid-template-columns:36px minmax(0,1fr) 40px}.game-topbar-inner>.icon-button{grid-column:1;grid-row:1}.game-topbar-inner>.topbar-actions{display:none!important}.game-topbar-inner>.game-status-panel{width:100%;grid-column:2;grid-row:1}.game-topbar-inner>.game-menu-toggle{grid-column:3!important;grid-row:1!important}}@media(min-width:600px)and (max-height:600px)and (orientation:landscape){:root{--board-size: min( calc(100vw - 16px) , calc(66.667dvh - 61.333px) , 620px)}.game-topbar{min-height:72px;padding:3px 6px;gap:5px}.game-topbar-inner>.icon-button,.game-topbar .topbar-actions .icon-button{width:34px;height:34px;flex-basis:34px;font-size:18px}.game-topbar-inner>.game-status-panel{--status-card-size: 64px;min-width:0;padding:2px 6px;grid-template-columns:minmax(110px,150px) minmax(260px,1fr);gap:8px;border-radius:10px}.game-topbar .topbar-actions{gap:4px}.game-topbar .coin-balance{display:none}.game-level-identity>.eyebrow{display:none}.game-level-identity>strong{font-size:15px;white-space:nowrap}.game-level-progress{display:none}.reserve-game-info{margin-top:2px}.reserve-game-info strong{max-width:100%;font-size:9px;white-space:nowrap}.reserve-game-info>span{display:none}.status-main.level-summary{min-width:0;grid-template-columns:auto minmax(120px,1fr) auto var(--status-card-size);gap:8px}.status-progress,.status-moves{min-width:34px}.status-progress span,.status-moves span,.level-timer-heading span,.level-timer-heading small,.reserve-heading{display:none}.status-progress:before,.status-moves:before{color:var(--muted);font-size:9px;line-height:1;white-space:nowrap}.status-progress:before{content:"完成"}.status-moves:before{content:"移動"}.status-progress strong,.status-moves strong,.level-timer-heading strong{min-width:0;font-size:16px;line-height:1;white-space:nowrap}.level-timer-heading{gap:0}.level-timer-track{height:4px;margin-top:4px}.reserve-area{gap:0}.reserve-stack b{min-width:22px;right:4px;bottom:4px;padding:2px 5px;font-size:11px}.game-layout{padding:6px 0 8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(orientation:portrait)and (max-width:640px){:root{--board-size: min( calc(100vw - 16px) , calc(66.667dvh - 61.333px) )}.game-topbar{min-height:52px;padding:2px 5px;display:grid;grid-template-columns:38px minmax(0,1fr) 42px;align-items:center;gap:5px}.game-topbar-inner>.icon-button{grid-column:1;grid-row:1}.game-topbar-inner>.game-status-panel{height:52px;min-height:0;width:100%;padding:1px 4px;grid-column:2;grid-row:1;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:4px;border-radius:12px}.game-topbar-inner>.game-menu-toggle{grid-column:3!important;grid-row:1!important}.game-level-identity{align-content:center}.game-level-identity>strong{font-size:13px;line-height:1}.status-main.level-summary{width:100%;min-width:0;grid-template-areas:"progress timer moves reserve";grid-template-columns:34px minmax(72px,1fr) 28px 44px;align-items:center;gap:3px}.status-main.level-summary>div:first-child{display:grid!important}.status-progress,.status-moves{min-width:0;grid-template-columns:14px auto;justify-content:start;gap:1px!important}.status-icon{width:14px;height:14px;font-size:12px}.status-progress strong,.status-moves strong{font-size:13px}.level-timer-heading{grid-template-columns:14px auto;justify-content:stretch;gap:2px}.level-timer-heading strong{font-size:17px}.level-timer-heading small{display:none}.reserve-area{width:30px;height:42px}.reserve-stack{width:26px;height:39px}.reserve-stack b{right:2px;bottom:2px}}@media(orientation:portrait)and (max-width:360px){.game-topbar{grid-template-columns:34px minmax(0,1fr) 38px;gap:3px}.game-topbar-inner>.game-status-panel{grid-template-columns:48px minmax(0,1fr);gap:3px}.game-level-identity>strong{font-size:12px}.status-main.level-summary{grid-template-columns:33px minmax(60px,1fr) 24px 40px;gap:2px}.status-progress strong,.status-moves strong{font-size:12px}.reserve-area{width:28px}.reserve-stack{width:24px;height:36px}}.orientation-blocker{position:fixed;inset:0;padding:32px;display:grid;place-content:center;justify-items:center;gap:12px;color:#fff;background:#141416f5;text-align:center;z-index:300}.orientation-blocker>span{width:72px;height:72px;display:grid;place-items:center;border:2px solid rgb(255 255 255 / 72%);border-radius:20px;font-size:42px}.orientation-blocker strong{font-size:24px}.orientation-blocker small{max-width:360px;color:#d2d2d7;font-size:14px;line-height:1.5}@media(min-width:641px){.game-topbar{min-height:58px;padding:5px 8px;display:grid;grid-template-columns:40px minmax(0,1fr) 44px;gap:7px}.game-topbar-inner>.icon-button{grid-column:1;grid-row:1;width:40px;height:40px;flex-basis:40px}.game-topbar-inner>.game-status-panel{--status-card-size: 42px;width:100%;min-width:0;padding:6px 9px;grid-column:2;grid-row:1;grid-template-columns:minmax(68px,auto) minmax(0,1fr);gap:6px;border-radius:15px}.game-topbar .reserve-area{width:38px;height:48px}.game-topbar .reserve-stack{width:34px;height:46px}.game-topbar-inner>.topbar-actions{display:none!important}.game-menu-toggle{width:44px!important;height:44px!important;display:grid!important;grid-column:3!important;grid-row:1!important;place-items:center;font-size:22px}.game-layout{width:100%;padding:6px 0 8px;grid-template-columns:1fr;gap:0}.game-panel{width:0;height:0;margin:0 auto;padding:0;border:0;background:transparent;position:static}.tool-list{position:fixed;right:calc(50vw - 370px);bottom:calc(16px + env(safe-area-inset-bottom));margin:0;display:flex;gap:10px;z-index:70}.tool-button{width:60px;min-height:60px;padding:0;display:grid;place-items:center;border-radius:50%;background:#fff;position:relative}.tool-button>span:last-child{display:none}.home-hero{grid-template-columns:1fr}.hero-mosaic{min-height:52vh}.hero-copy{max-width:none;padding:64px 40px}}@media(orientation:portrait)and (max-width:1200px){.game-topbar-inner>.game-status-panel{grid-template-columns:minmax(54px,80px) 52px minmax(76px,220px) 36px 48px 42px;gap:5px}.game-status-panel>.status-main.level-summary{display:contents}.game-level-identity{grid-column:1;grid-row:1}.status-progress{grid-column:2;grid-row:1}.level-timer{grid-column:3;grid-row:1}.status-moves{grid-column:4;grid-row:1}.status-coins{grid-column:5;grid-row:1}.reserve-area{grid-column:6;grid-row:1}.status-progress,.status-moves,.status-coins{min-width:0;display:grid!important;grid-template-columns:14px minmax(0,auto);align-items:center;gap:2px!important}.status-progress .status-label,.status-moves .status-label,.status-coins .status-label,.level-timer .status-label,.level-timer-heading small,.reserve-heading{display:none}.level-timer-heading{display:grid;grid-template-columns:14px minmax(0,auto);align-items:center;justify-content:start;gap:3px}.level-timer-track{margin-top:4px}}@media(orientation:portrait)and (max-width:480px){.game-topbar-inner>.game-status-panel{grid-template-columns:44px 38px minmax(56px,1fr) 26px 38px 38px;gap:2px}.game-level-identity>strong{font-size:12px}.status-progress strong,.status-moves strong,.status-coins strong{font-size:12px}.level-timer-heading strong{font-size:16px}.game-topbar .reserve-area{width:38px}}@media(orientation:portrait)and (max-width:360px){.game-topbar-inner>.game-status-panel{grid-template-columns:40px 34px minmax(46px,1fr) 24px 32px 36px;gap:1px}.game-topbar .reserve-area{width:36px}.game-topbar .reserve-stack{width:32px;height:44px}.status-coins{min-width:0}}.language-select{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 8px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:11px;white-space:nowrap}.language-select select{max-width:76px;border:0;color:inherit;background:transparent;font:inherit;font-weight:800}.language-select option{color:#1f252b;background:#fff}@media(max-width:680px){.language-select>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.language-select{padding:0 5px}}@media(min-width:1201px)and (pointer:fine){:root{--board-size: min( calc(66.667dvh - 68px) , calc(100vw - 500px) )}.app-shell.screen-game{width:100%;max-width:none}.game-layout{width:min(calc(var(--board-size) + 430px),calc(100vw - 48px));padding:14px 0 18px;grid-template-columns:var(--board-size) minmax(300px,360px);gap:clamp(36px,3vw,72px);justify-content:center}.game-panel{width:auto;height:auto;margin-inline:0;padding:28px;border:1px solid var(--hairline);background:#fff;position:sticky}.game-tools-panel{width:100%;margin-top:clamp(24px,8vh,130px)}.tool-list{position:static;margin:0;display:grid;gap:10px}.tool-button{width:auto;min-height:64px;padding:10px 14px;display:flex;place-items:initial;border-radius:11px}.tool-button>span:last-child{display:grid}}@media(max-width:1200px){:root{--board-size: min( calc(100vw - 16px) , calc(66.667dvh - 112px) )}.app-shell.screen-game{width:100%;max-width:none}.game-layout{width:100%;padding:2px 0 8px;grid-template-columns:1fr;grid-template-rows:auto 52px;align-content:start;gap:6px}.game-panel,.game-tools-panel{width:var(--board-size);height:52px;min-height:52px;margin:0 auto;padding:0;display:flex;justify-content:flex-end;border:0;background:transparent;position:static}.game-panel .text-button{display:none}.tool-list,.game-tools-panel .tool-list{width:auto;height:52px;margin:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;position:static;inset:auto;z-index:auto}.tool-button{width:50px;min-height:50px;height:50px;padding:0;display:grid;place-items:center;border-radius:50%;background:#fff;position:relative}.tool-button>span:last-child{display:none}.tool-button:after{content:attr(data-count);min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border:2px solid white;border-radius:999px;color:#fff;background:var(--ink);font-size:10px;font-weight:600;position:absolute;right:-2px;bottom:-2px}.tool-icon{width:40px;height:40px}}.game-topbar{padding-inline:0}.game-topbar-inner{width:min(1180px,100%);padding-inline:20px}.gallery-topbar{width:100%;padding-inline:12px}.coin-icon{width:16px;height:16px;flex:0 0 16px;display:inline-block;border:1px solid #a86700;border-radius:50%;color:transparent;background:radial-gradient(circle at 34% 28%,#fff8c8 0 12%,transparent 14%),radial-gradient(circle,#ffd964 0 43%,#e7a51a 46% 69%,#b87300 72% 100%);box-shadow:inset 0 0 0 1px #ffffff59,0 1px 2px #6036003d;font-style:normal;font-size:0;vertical-align:-2px}.status-coins .coin-icon{display:inline-block}.restart-button{width:100%;margin-top:20px;text-align:left}.restart-icon{flex:0 0 38px}@media(min-width:1201px)and (pointer:fine){.game-topbar{display:flex}.game-topbar-inner{width:min(calc(var(--board-size) + 430px),calc(100vw - 48px));margin-inline:auto}}@media(min-width:1440px)and (min-height:760px)and (pointer:fine){.game-topbar-inner{width:min(calc(var(--board-size) + 430px),calc(100vw - 64px));padding-inline:28px}}@media(orientation:portrait)and (max-width:1200px){.game-topbar{display:block}.game-topbar-inner{width:100%;padding-inline:0;display:grid;grid-template-columns:40px minmax(0,1fr) 44px;gap:7px}}@media(orientation:portrait)and (max-width:640px){.game-topbar-inner{grid-template-columns:38px minmax(0,1fr) 42px;gap:5px}}@media(orientation:portrait)and (max-width:360px){.game-topbar-inner{grid-template-columns:34px minmax(0,1fr) 38px;gap:3px}}@media(max-width:1200px){.restart-button{display:none}}.game-topbar-inner{display:flex;align-items:stretch;gap:10px}.game-topbar-inner>.game-status-panel{min-width:0;flex:1 1 auto;display:grid;grid-template-columns:minmax(0,10fr) minmax(0,20fr) minmax(0,50fr) minmax(0,10fr) minmax(0,10fr);gap:0;padding:6px 10px;align-items:center}.game-status-panel>.game-level-identity{grid-column:1;grid-row:1;min-width:0}.game-status-panel>.status-main.level-summary{display:contents}.status-progress-summary{grid-column:2;grid-row:1;min-width:0;display:grid;grid-template-rows:repeat(2,minmax(0,auto));gap:2px;padding-inline:8px}.status-progress,.status-moves{min-width:0;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:5px}.status-progress .status-label,.status-moves .status-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-progress strong,.status-moves strong{min-width:0;overflow:hidden;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.game-status-panel .level-timer{grid-column:3;grid-row:1;min-width:0;padding-inline:10px}.game-status-panel .status-coins{grid-column:4;grid-row:1;min-width:0;padding-inline:6px}.game-status-panel .reserve-area{grid-column:5;grid-row:1;min-width:0;width:100%;justify-self:stretch;padding-inline:6px}.game-level-identity>.eyebrow{margin:0;font-size:9px;letter-spacing:.1em}.game-level-identity>strong{font-size:clamp(22px,2.4vw,34px);line-height:.95;font-variant-numeric:tabular-nums}.reserve-game-info{min-width:0;margin-top:5px;padding-top:0;display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;border-top:0}.reserve-game-info .level-feature,.reserve-game-info .level-split{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.level-timer.warning .level-timer-track i{background:#f5b700}.level-timer:not(.warning):not(.danger) [data-level-time]{color:#248a4b}.level-timer.warning [data-level-time]{color:#946200}.level-timer.danger .level-timer-track i{background:#ff3b30}.level-timer.danger [data-level-time]{color:#d70015}.game-status-panel .reserve-area .reserve-stack{width:min(100%,72px)}@media(max-width:1200px){.game-topbar-inner{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:7px}.game-topbar-inner>.game-status-panel{grid-column:1!important;grid-row:1!important}.game-topbar-inner>.topbar-actions{display:none!important}.game-topbar-inner>.game-menu-toggle{grid-column:2!important;grid-row:1!important}}@media(max-width:640px){.game-topbar-inner{grid-template-columns:minmax(0,1fr) 42px!important;gap:5px}.game-topbar-inner>.game-status-panel{padding:4px 5px}.status-progress-summary{padding-inline:3px;gap:1px}.status-progress,.status-moves{grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:2px}.status-progress .status-label,.status-moves .status-label,.reserve-game-info .level-feature,.reserve-game-info .level-split{font-size:8px}.status-progress strong,.status-moves strong{font-size:13px}.game-status-panel .level-timer{padding-inline:4px}.level-timer-heading{gap:3px}.level-timer-heading strong{min-width:0;font-size:16px}.level-timer-heading small{display:none}.game-status-panel .status-coins,.game-status-panel .reserve-area{padding-inline:2px}.game-status-panel .reserve-area .reserve-stack{width:min(100%,38px)}}@media(max-width:360px){.game-topbar-inner{grid-template-columns:minmax(0,1fr) 38px!important;gap:3px}.game-status-panel>.game-level-identity{padding-inline:2px}.game-level-identity>strong{font-size:18px}.status-progress .status-label,.status-moves .status-label{display:none}.status-progress,.status-moves{display:block;text-align:center}.status-progress strong,.status-moves strong{font-size:12px}.game-status-panel .level-timer{padding-inline:2px}.level-timer-heading strong{font-size:14px}}.map-region-caption{width:min(330px,calc(100% - 20px));min-height:16px;padding:3px 8px;display:flex;align-items:baseline;justify-content:center;gap:7px;top:calc(var(--map-row-height, 112px) - 12px);background:#ffffffc2;border:1px solid rgb(78 98 91 / 18%);border-radius:999px;box-shadow:0 3px 10px #2639311a;white-space:nowrap}.map-region-caption span,.map-region-caption strong{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-region-caption span{flex:0 0 auto;font-size:8px}.map-region-caption strong{font-size:12px}.map-region-caption small{display:none}.map-region-night .map-region-caption{background:#182530d1;border-color:#ffffff2e}.map-region-scene:first-of-type .map-region-caption{top:calc(var(--map-row-height, 112px) + 16px)}@media(max-width:640px){.map-region-scene{--map-row-height: 76px}.map-region-caption{display:none}}.home-topbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,30%) minmax(76px,20%) 44px;gap:8px;align-items:center}.home-brand{min-width:0;overflow:hidden;font-size:18px;font-weight:700;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.home-collection-link{min-width:0;min-height:38px;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 10px;border:1px solid rgb(255 255 255 / 20%);border-radius:999px;color:#fff;background:#272729;font:inherit;white-space:nowrap;cursor:pointer}.home-collection-link strong{font-size:17px;font-variant-numeric:tabular-nums}.home-collection-link small{color:#ffffffa6;font-size:11px}.home-collection-link .new-pack-notice{color:#ffdc75;font-size:9px;font-style:normal;font-weight:700}.home-topbar>.coin-balance,.home-topbar>.shell-menu-toggle{margin-left:0}.home-topbar>.coin-balance{width:100%;justify-content:center}.gallery-topbar{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}.gallery-topbar .gallery-heading{min-width:0;display:grid}.gallery-topbar .gallery-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-topbar>.topbar-actions{margin-left:0}.gallery-topbar .gallery-back-button{margin-left:0}.new-pack-notice{color:#936a00;font-weight:700}@media(max-width:640px){.home-topbar{grid-template-columns:minmax(0,1fr) minmax(108px,30%) minmax(72px,20%) 38px;gap:5px;padding-inline:8px}.home-brand{font-size:15px}.home-collection-link{min-height:34px;gap:3px;padding-inline:6px;font-size:12px}.home-collection-link strong{font-size:15px}.home-collection-link .new-pack-notice{font-size:8px}.home-topbar>.coin-balance{min-height:34px;padding-inline:5px;font-size:12px}.gallery-topbar{grid-template-columns:38px minmax(0,1fr) auto;gap:6px;padding-inline:8px}.gallery-topbar .topbar-actions{gap:5px}}@media(max-width:360px){.home-topbar{grid-template-columns:minmax(0,1fr) minmax(96px,30%) minmax(66px,20%) 36px;gap:3px}.home-brand{font-size:13px}.home-collection-link{padding-inline:4px;font-size:11px}.home-collection-link small{display:none}}
