.gamelist{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}a.game{display:flex;flex-direction:column;gap:6px;padding:22px 24px 24px;border:1px solid var(--glass-edge);border-radius:22px;background:color-mix(in srgb,var(--blue-soft) 60%,transparent);box-shadow:inset 0 1px 0 var(--glass-edge);color:var(--ink);text-decoration:none;transition:transform .15s}a.game:hover{color:var(--ink);transform:translateY(-3px);border-color:var(--orange)}a.game glig-icon{width:64px;margin-bottom:6px;filter:drop-shadow(0 6px 6px rgba(8,16,40,.3))}a.game p{color:var(--muted)}.sheet.play{gap:20px;align-items:center}.play .bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;width:100%}.play .bar p{color:var(--muted)}.play .controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.play .controls label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.92rem}.play .controls select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--sheet);color:var(--ink);font:inherit}.play .score{font-weight:700;font-variant-numeric:tabular-nums}.play .wait{padding:60px 0;color:var(--muted);text-align:center}.play .said{width:100%;text-align:center}.play .won{display:inline-flex;align-items:center;gap:12px;font:700 2rem/1.1 var(--display);color:var(--blue-deep)}.play .won glig-icon{width:46px}.play .used{margin-top:6px;color:var(--muted)}.board{position:relative;width:min(100%,70vh,640px)}.board button{padding:0;border:0;background:none;font:inherit;cursor:pointer}.board.memory{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:min(100%,86vh,760px);perspective:1400px}.board.memory.n20{grid-template-columns:repeat(5,1fr)}.memory .card{aspect-ratio:4 / 3}.memory .turn{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,.8,.3,1)}.memory .card.open .turn{transform:rotateY(180deg)}.memory .back,.memory .face{position:absolute;inset:0;border-radius:12px;backface-visibility:hidden;box-shadow:0 8px 16px -8px #08102880}.memory .back{border:1px solid rgba(255,255,255,.7);background:linear-gradient(135deg,rgba(255,255,255,.35),transparent 45%),repeating-linear-gradient(#6a90c3 0 4px,#5f86bb 4px 8px)}.memory .face{border:4px solid #ffffff;background:#dfe7f2 center / cover;transform:rotateY(180deg)}.memory .card:hover:not(.open) .turn{transform:rotateY(14deg)}.memory .card.found .face{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange),0 8px 16px -8px #08102880}.memory .card:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:12px}.board.slide,.board.twist{aspect-ratio:1;border:6px solid #ffffff;border-radius:6px;background:var(--blue-soft);box-shadow:6px 6px 0 var(--cast);overflow:hidden}.slide .square,.twist .square{position:absolute;left:0;top:0;width:calc(100% / var(--n));height:calc(100% / var(--n));background-image:var(--picture);background-size:calc(var(--n) * 100%) calc(var(--n) * 100%);background-position:calc(var(--col) * 100% / (var(--n) - 1)) calc(var(--row) * 100% / (var(--n) - 1));outline:1px solid rgba(255,255,255,.55);outline-offset:-1px}.slide .square{translate:calc(var(--x) * 100%) calc(var(--y) * 100%);transition:translate .18s ease-out}.slide .whole{position:absolute;inset:0;background:var(--picture) center / 100% 100%;opacity:0;pointer-events:none;transition:opacity .25s}.slide.peek .whole,.slide.solved .whole{opacity:1}.twist .square{translate:calc(var(--col) * 100%) calc(var(--row) * 100%);rotate:calc(var(--turn) * 90deg);transition:rotate .22s ease-out}.twist.solved .square{outline-color:transparent}.slide .square:focus-visible,.twist .square:focus-visible{outline:3px solid var(--orange);outline-offset:-3px;z-index:1}.play .choice{display:flex;flex-direction:column;padding:5px 5px 0;background:#fff;color:#34507c;box-shadow:4px 4px 0 var(--cast);transition:transform .15s,opacity .3s}.play .choice:hover{transform:translate(-2px,-2px)}.play .choice .pic{display:block;aspect-ratio:4 / 3;background:#dfe7f2 center / cover}.play .choice .cap{padding:5px 2px 6px;font-size:.8rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play .choice.right{outline:4px solid #4f9a5b}.play .choice.wrong{outline:4px solid #c4483f}.play .answered .choice:not(.right):not(.wrong){opacity:.45}.board.zoom{display:flex;flex-direction:column;align-items:center;gap:22px;width:min(100%,760px)}.zoom .lens{width:min(46vh,300px);aspect-ratio:1;border-radius:50%;border:6px solid rgba(255,255,255,.85);background-repeat:no-repeat;background-size:600%;background-position:var(--at);box-shadow:0 18px 34px -14px #08102899,inset 0 0 0 1px #08102833,inset 10px 14px 30px #ffffff59;transition:background-size .9s cubic-bezier(.3,.7,.2,1),border-radius .9s}.zoom.answered .lens{background-size:cover;background-position:center;border-radius:18px}.zoom .choices{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%}.board.spot{width:min(100%,1100px)}.spot .pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.spot .right{position:relative}.spot canvas{display:block;width:100%;height:auto;border:5px solid #ffffff;border-radius:4px;box-shadow:0 12px 24px -12px #081028a6;cursor:crosshair}.spot .ring{position:absolute;pointer-events:none;left:calc(5px + (100% - 10px) * var(--px) / var(--columns));top:calc(5px + (100% - 10px) * var(--py) / var(--rows));width:calc((100% - 10px) / var(--columns));height:calc((100% - 10px) / var(--rows));border:4px solid var(--orange);border-radius:8px;box-shadow:0 0 0 3px #ffffffd9,0 0 26px var(--orange);opacity:0;scale:1.4;transition:opacity .25s,scale .45s cubic-bezier(.3,.8,.3,1)}.spot.found .ring{opacity:1;scale:1}.spot.missed .pair{animation:shake .4s}@keyframes shake{20%,60%{translate:-7px 0}40%,80%{translate:7px 0}}.board.odd{width:min(100%,760px,calc((100vh - 400px) / .9))}.odd .nine{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.odd .choice{animation:come-up .45s cubic-bezier(.3,.8,.3,1) both;animation-delay:calc(var(--i, 0) * 50ms)}.odd .choice.right{transform:scale(1.06);z-index:1}.odd .which{min-height:1.6em;margin-top:16px;color:var(--muted);text-align:center}@keyframes come-up{0%{opacity:0;transform:translateY(18px) scale(.94)}}.sheet.edit{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}.edit .work{display:flex;flex-direction:column;align-items:center;gap:10px}.edit .canvas{position:relative;max-width:100%;line-height:0;border:6px solid #ffffff;box-shadow:6px 6px 0 var(--cast);overflow:hidden;touch-action:none}.edit canvas{display:block;max-width:100%;height:auto}.edit .cut{position:absolute;border:1px solid #ffffff;box-shadow:0 0 0 9999px #0a14288c;cursor:move}.edit .cut i{position:absolute;width:18px;height:18px;border:3px solid #ffffff;background:var(--orange);border-radius:50%}.edit .cut .nw{left:-9px;top:-9px;cursor:nwse-resize}.edit .cut .ne{right:-9px;top:-9px;cursor:nesw-resize}.edit .cut .sw{left:-9px;bottom:-9px;cursor:nesw-resize}.edit .cut .se{right:-9px;bottom:-9px;cursor:nwse-resize}.edit .size{color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}.edit .tools{display:flex;flex-direction:column;gap:14px}.edit fieldset{display:flex;flex-direction:column;gap:8px;margin:0;padding:12px 14px 14px;border:1px solid var(--glass-edge);border-radius:14px;background:color-mix(in srgb,var(--blue-soft) 60%,transparent)}.edit legend{padding:0 6px;font:700 1.3rem/1 var(--display);color:var(--blue-deep)}.edit .shapes{display:flex;flex-wrap:wrap;gap:6px}.edit .shapes .plain{padding:4px 10px;font-size:.86rem}.edit .plain.on{border-color:var(--orange-deep);background:var(--orange);color:#fff}.edit label{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}.edit input[type=range]{width:100%;accent-color:var(--orange)}.edit .take{display:flex;gap:8px}.edit .take .pill{justify-content:center;padding:8px 14px 9px;font-size:1.4rem}.edit .take .go{flex:1}.sheet.make{grid-template-columns:minmax(0,780px) minmax(300px,1fr)}.make .shapes>span{align-self:center;font-size:.86rem;color:var(--muted)}.make .colors{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.make .colors label{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.8rem}.make input[type=color]{width:48px;height:34px;padding:2px;border:1px solid var(--glass-edge);border-radius:8px;background:#fff;cursor:pointer}.make .colors .plain{padding:4px 10px;font-size:.86rem}.make .base{display:flex;align-items:center;gap:10px;min-height:24px;font-size:.9rem;color:var(--muted)}.make .base img{width:54px;height:54px;object-fit:cover;border:3px solid #ffffff;box-shadow:3px 3px 0 var(--cast);background:var(--blue-soft)}.make select{font:inherit;padding:4px 8px;border:1px solid var(--glass-edge);border-radius:8px;color:inherit;background:#fff}.make .seed{align-self:center;margin-left:auto;font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}.make .try{padding-top:4px;border-top:1px solid var(--glass-edge)}.make .views .shapes:first-of-type .plain{padding:8px 16px;font-size:1.05rem}.make .views glig-icon{width:1.25em;margin-right:6px}.make .recent{display:flex;align-items:center;gap:6px;font-size:.86rem;color:var(--muted)}.make .recent .plain{padding:2px}.make .recent img{display:block;width:40px;height:40px;object-fit:cover;border-radius:4px;background:var(--blue-soft)}.sheet.showroom{gap:18px}bga-showroom{display:block;line-height:0;border:6px solid #ffffff;box-shadow:6px 6px 0 var(--cast);background:#c9d6e6;touch-action:none;cursor:grab}bga-showroom:active{cursor:grabbing}bga-showroom canvas{display:block;width:100%;height:auto}bga-showroom p{margin:0;padding:20px;line-height:1.5}.showroom .what{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}.showroom .shapes{display:flex;flex-wrap:wrap;gap:8px}.showroom .shapes .plain{padding:6px 14px;text-decoration:none}.showroom .shapes glig-icon{width:1.15em;margin-right:6px}.showroom .who{min-height:1.5em;color:var(--ink)}@media(max-width:860px){.sheet.edit{grid-template-columns:1fr}.board.memory{gap:8px}.zoom .choices{grid-template-columns:repeat(2,1fr)}.spot .pair{grid-template-columns:1fr}.odd .nine{gap:10px}}@media(prefers-reduced-motion:reduce){.memory .turn,.slide .square,.twist .square,.zoom .lens,.spot .ring,a.game{transition:none}.odd .choice,.spot.missed .pair{animation:none}}
