.layer-shell{background:radial-gradient(at top,#34596a,#16323e 80%)}.layer-game{-webkit-user-select:none;user-select:none;max-width:540px}.layer-game .fragment-front-gem{transition:translate 90ms ease-out}.layer-game .fragment-pile.selected .fragment-front-gem{translate:0 -4px}.layer-guide line{stroke:#fff0bc;stroke-width:2px;stroke-dasharray:3 8;filter:drop-shadow(0 0 4px #ffe29baa);animation:.24s linear infinite layer-guide-flow}.layer-guide circle{fill:#fff8d014;stroke:#fff7d7;stroke-width:2px;opacity:.95;filter:drop-shadow(0 0 4px #ffe39aaa);transform-box:fill-box;transform-origin:50%;animation:.7s ease-in-out infinite alternate layer-guide-lock}.layer-game .fragment-header p{font-size:12px}.layer-game .fragment-header a,.layer-game .fragment-tools button{min-width:44px}.layer-game .fragment-progress{height:38px;font-size:14px}.layer-level-nav{overscroll-behavior-inline:contain;scrollbar-width:none;flex:1;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.layer-level-nav::-webkit-scrollbar{display:none}.layer-level-nav button{color:#aebfc6;background:#183b49;border:1px solid #9bb0b966;border-radius:9px;flex:none;min-width:34px;height:30px;padding:0 9px;font:700 12px/1 inherit;box-shadow:inset 0 1px #ffffff12}.layer-level-nav button.selected{color:#fff3cd;background:#735230;border-color:#ffe6a3;box-shadow:inset 0 1px #fff5c455,0 2px #38281b}.layer-collection{flex:none;align-items:center;gap:9px;display:flex}.layer-collection-preview{background:#163342;border-radius:3px;outline:1px solid #bbcad055;width:38px;height:38px;position:relative}.layer-collection-piece{grid-template-columns:repeat(var(--cols),minmax(0,1fr));background:#ffffff0a;gap:.5px;padding:.5px;display:grid;position:absolute;box-shadow:inset 0 0 0 1px #bbcad033}.layer-collection-piece>i{background:0 0;border-radius:1px}.layer-collection-piece.received>i{background:var(--gem)}.layer-collection-piece.received{animation:.25s ease-out layer-receive}.layer-board{background:radial-gradient(#3d6472,#294c5d);box-shadow:inset 0 0 30px #142b3d80,0 0 0 1px #77909a44}.diamond-layer{aspect-ratio:1;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));padding:var(--layer-pad-y,4px) 4px;transform-origin:50%;isolation:isolate;background:#e3d8bd;border:2px solid #cdb884;border-radius:10px;gap:3px;transition:box-shadow .18s,border-color .18s;display:grid;position:absolute;box-shadow:0 4px #978377,2px 8px 10px #091c3b88}.diamond-layer.covered{opacity:1;border-color:#a5a39a;box-shadow:0 4px #728189,1px 5px 9px #091c3b66}.diamond-layer.covered:after{content:"";pointer-events:none;background:#112c482b;border-radius:9px;position:absolute;inset:-1px}.diamond-layer.exposed{opacity:1;border-color:#fff2cb;box-shadow:0 4px #ad9480,2px 8px 12px #0b193f99}.diamond-layer.matching{border-color:#ffe4a2;box-shadow:0 4px #ad9480,2px 8px 12px #0b193f99,0 0 0 1px #ffe4a299}.diamond-layer.aimed{outline-offset:3px;outline:2px solid #ffdd81;animation:.26s cubic-bezier(.2,.8,.3,1) layer-board-lock}.layer-cell{aspect-ratio:1;background:var(--gem);border:1px solid color-mix(in srgb,var(--gem),#102330 38%);isolation:isolate;border-radius:23%;min-width:0;min-height:0;display:block;position:relative;box-shadow:inset 0 3px 4px #091c4266,inset 0 -1px 1px #fff6}.layer-cell>i{border:1px solid #fff5;border-radius:23%;display:none;position:absolute;inset:25%}.layer-cell:is(button){touch-action:manipulation;padding:0}.layer-cell:disabled{opacity:1;cursor:default}.layer-cell.available>b{aspect-ratio:1;color:#fff8dc;pointer-events:none;width:58%;max-width:31px;filter:drop-shadow(0 1px 1px #102330cc) drop-shadow(0 0 3px color-mix(in srgb,var(--gem),white 48%));background:linear-gradient(currentColor,currentColor) top/1px 39% no-repeat,linear-gradient(currentColor,currentColor) bottom/1px 39% no-repeat,linear-gradient(currentColor,currentColor) 0/39% 1px no-repeat,linear-gradient(currentColor,currentColor) 100%/39% 1px no-repeat;animation:.78s ease-in-out infinite layer-reticle-blink;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.04)}.layer-cell.available>b:before{content:"";box-shadow:0 0 4px color-mix(in srgb,var(--gem),white 52%);border:1px solid;border-radius:50%;position:absolute;inset:12%}.layer-cell.available>b:after{content:"";background:radial-gradient(circle,currentColor 0 1px,#0000 1.5px);border:1px solid;border-radius:50%;position:absolute;inset:29%}.layer-cell.filled{background:linear-gradient(135deg,#fff8 0 18%,#ffffff0a 19% 71%,#0004 72%),var(--gem);border-color:color-mix(in srgb,var(--gem),white 48%);box-shadow:inset 0 1px 1px #fffc,inset 0 -2px #0003,0 1px 2px #0b294a66}.layer-cell.filled>i{background:linear-gradient(135deg,#fff3,#0000);border-color:#fff4;border-radius:17%;display:block;inset:16%}.layer-cell.targeted{outline-offset:2px;z-index:1;box-shadow:inset 0 2px 5px #10224b55,0 0 9px color-mix(in srgb,var(--gem),white 45%);outline:2px solid #fff8d8}.layer-cell.targeted>b{animation:.3s cubic-bezier(.15,.85,.25,1) both layer-reticle-lock,.78s ease-in-out .3s infinite layer-reticle-blink}.layer-seat-spark{color:#fff5cd;text-shadow:0 0 5px #fff8c2;pointer-events:none;z-index:3;font-size:20px;font-style:normal;line-height:1;animation:.32s ease-out both layer-seat-spark;position:absolute;top:-9px;right:-7px}.layer-cell.just-seated>i{animation:.28s ease-out both layer-seat-glint}.layer-cell.just-seated{z-index:4;animation:.26s cubic-bezier(.18,.8,.3,1.25) layer-seat-impact}.layer-cell.just-seated:after{content:"";pointer-events:none;border:1px solid #fff2b8;border-radius:28%;animation:.34s ease-out both layer-seat-ring;position:absolute;inset:-18%}.diamond-layer.collecting:before{content:"";z-index:3;pointer-events:none;background:linear-gradient(125deg,#0000 35%,#fff6 50%,#0000 65%) 0 0/250% 100%;border-radius:8px;animation:.4s ease-out both layer-shimmer;position:absolute;inset:0}.layer-finale{aspect-ratio:1;background:#182f3a;border:3px solid #d8bd87;border-radius:8px;position:absolute;top:8%;left:5%;right:5%;overflow:hidden;box-shadow:0 5px #8d7b73,0 12px 20px #0d203888}.layer-finale-canvas{background:#dfd7c3;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.layer-finale-grid{width:100%;height:100%;position:absolute;inset:0}.layer-assembled{grid-template-columns:repeat(var(--cols),minmax(0,1fr));animation:layer-assemble .55s var(--arrival) cubic-bezier(.2,.7,.3,1) both;gap:2px;padding:1px;display:grid;position:absolute}.layer-finale-art{z-index:2;object-fit:cover;width:100%;height:100%;animation:.72s cubic-bezier(.2,.72,.25,1) .94s both layer-art-reveal;display:block;position:absolute;inset:0}.layer-art-credit{z-index:3;color:#fff;text-align:left;text-shadow:0 1px 2px #000;background:linear-gradient(#0000,#0b172dcc 44%);flex-direction:column;gap:1px;padding:16px 8px 6px;text-decoration:none;animation:.35s ease-out 1.46s both layer-art-caption;display:flex;position:absolute;bottom:0;left:0;right:0}.layer-art-credit strong{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(11px,3.2vw,15px);line-height:1.15;overflow:hidden}.layer-art-credit span{white-space:nowrap;text-overflow:ellipsis;color:#f7ecd7;font-size:clamp(8px,2.4vw,11px);line-height:1.15;overflow:hidden}.layer-finale:after{content:"";z-index:4;pointer-events:none;background:linear-gradient(125deg,#0000 40%,#ffffff75 50%,#0000 60%) 0 0/250% 100%;animation:.85s 1.58s both layer-shimmer;position:absolute;inset:0}.fragment-waiting.no-wait{display:none}.fragment-waiting.tutorial-waiting{outline-offset:2px;outline:2px solid #fff0a8;animation:.85s ease-in-out infinite alternate layer-tutorial-glow}.fragment-pile.tutorial-pile,.fragment-waiting .tutorial-tray{outline-offset:1px;outline:3px solid #fff0a8;box-shadow:inset 0 3px 6px #10242c99,0 0 14px #ffe39a99}.layer-tutorial-hand{z-index:8;color:#fff;pointer-events:none;filter:drop-shadow(0 2px 1px #2c1c3e)drop-shadow(0 0 4px #fff2c8);width:32px;height:32px;animation:.72s ease-in-out infinite layer-hand-tap;position:absolute;bottom:-5px;left:50%}.layer-tutorial-hand svg{fill:#fff;stroke:#75518e;stroke-width:1.8px;width:32px;height:32px}.fragment-waiting button{position:relative}.layer-tutorial-hand.tray-hand{bottom:-10px}.layer-tutorial-hand.aim-hand{animation:1.1s ease-in-out infinite layer-hand-aim}.layer-tutorial-hand.cancel-hand{animation:1s ease-in-out infinite layer-hand-cancel}.layer-language{color:#e9cb8f;background:#183b49;border:1px solid #9bb0b966;border-radius:8px;min-height:32px;padding:3px 9px;font:700 12px/1 inherit;box-shadow:inset 0 1px #ffffff12}@keyframes layer-assemble{0%{opacity:0;transform:scale(.6)translateY(20%)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes layer-art-reveal{0%{opacity:0;filter:blur(4px)saturate(.65)brightness(.85);transform:scale(.965)}to{opacity:1;filter:blur()saturate()brightness();transform:scale(1)}}@keyframes layer-art-caption{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes layer-receive{0%{filter:brightness(1.2);transform:scale(1.2)}to{filter:brightness();transform:scale(1)}}@keyframes layer-seat-spark{0%{opacity:0;transform:scale(.3)rotate(-15deg)}25%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.4)translate(4px,-3px)rotate(15deg)}}@keyframes layer-seat-glint{0%{background:#fff8}to{background:#fff0}}@keyframes layer-shimmer{0%{opacity:0;background-position:150% 0}25%{opacity:1}to{opacity:0;background-position:-50% 0}}@keyframes layer-guide-flow{to{stroke-dashoffset:-11px}}@keyframes layer-guide-lock{0%{opacity:.7;transform:scale(.94)}to{opacity:1;transform:scale(1.04)}}@keyframes layer-board-lock{0%{outline-offset:8px;filter:brightness(1.08)}to{outline-offset:3px;filter:brightness()}}@keyframes layer-reticle-lock{0%{opacity:0;transform:translate(-50%,-50%)scale(1.38)}to{opacity:1;transform:translate(-50%,-50%)scale(1.04)}}@keyframes layer-reticle-blink{0%,to{opacity:1;filter:drop-shadow(0 1px 1px #102330cc) drop-shadow(0 0 2px color-mix(in srgb,var(--gem),white 45%)) brightness(1);transform:translate(-50%,-50%)scale(1.04)}50%{opacity:1;filter:drop-shadow(0 1px 1px #102330cc) drop-shadow(0 0 7px color-mix(in srgb,var(--gem),white 72%)) brightness(1.45);transform:translate(-50%,-50%)scale(1.04)}}@keyframes layer-seat-impact{0%{filter:brightness(1.4);transform:scale(.78)}65%{filter:brightness(1.16);transform:scale(1.08)}to{filter:brightness();transform:scale(1)}}@keyframes layer-seat-ring{0%{opacity:1;transform:scale(.62)}to{opacity:0;transform:scale(1.18)}}@keyframes layer-tutorial-glow{0%{filter:brightness()}to{filter:brightness(1.12)}}@keyframes layer-hand-tap{0%,to{transform:translate(-38%,5px)scale(1)}52%{transform:translate(-38%,-3px)scale(.94)}}@keyframes layer-hand-aim{0%,to{transform:translate(-55%,1px)}35%{transform:translate(-95%,1px)}70%{transform:translate(-15%,1px)}}@keyframes layer-hand-cancel{0%,25%{transform:translate(-38%,-7px)}75%,to{transform:translate(-38%,14px)}}@media (max-width:360px){.layer-game{padding-left:10px;padding-right:10px}.layer-language{min-height:30px;padding-inline:7px}}@media (max-height:700px){.layer-game .fragment-status{font-size:14px}.layer-game .fragment-header h1{font-size:18px}}@media (prefers-reduced-motion:reduce){.layer-assembled,.layer-finale-art,.layer-art-credit,.layer-collection-piece.received,.layer-cell.just-seated,.layer-cell.just-seated>i,.layer-cell.available>b,.layer-guide line,.layer-guide circle,.fragment-waiting.tutorial-waiting,.layer-tutorial-hand{animation:none}.layer-finale:after,.diamond-layer.collecting:before,.layer-seat-spark,.layer-cell.just-seated:after{display:none}.diamond-layer,.layer-game .fragment-front-gem{transition:none}}
