.puzzle{padding:1.1rem;scroll-margin-top:6rem}.puzzle-head{display:flex;justify-content:space-between;gap:.5rem 1rem;align-items:baseline;flex-wrap:wrap;margin-bottom:.8rem}.puzzle-head h2{font-size:1.2rem;letter-spacing:-.01em;font-weight:700}.puzzle-head{min-height:var(--head-min, 0px)}.puzzle-head span{font-size:.82rem;color:var(--faint)}@media (max-width: 600px){.puzzle .puzzle-head .qr-button,.puzzle .puzzle-head .print-button{order:1}}.status{min-height:3rem;margin-top:.8rem;font-size:.95rem;color:var(--muted)}.status b{color:var(--lapis);font-weight:600}.status.mate{color:var(--text)}.status.mate:before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:2px;background:var(--garnet);margin-right:.45rem;vertical-align:.05em}.status.hint{color:var(--text)}.status .moves-so-far{display:block;margin-bottom:.3rem;font-weight:600;color:var(--lapis)}.status .move-link{font:inherit;font-weight:600;color:var(--lapis);background:none;border:0;padding:0 .15em;margin:0 -.15em;border-radius:3px;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.2em}.status .move-link:hover{text-decoration-color:currentColor}.status .move-link:focus-visible{outline:2px solid var(--lapis);outline-offset:1px}.status .move-link.move-before{font-weight:400;color:var(--muted)}.status .move-link.current{background:var(--lapis);color:var(--on-lapis);text-decoration:none}.puzzle-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}.puzzle .icon-button{display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;border:1px solid var(--line-strong);border-radius:999px;background:var(--card);color:var(--muted);cursor:pointer}.puzzle .icon-button:hover,.puzzle .icon-button[aria-expanded=true]{color:var(--lapis);border-color:var(--lapis)}.puzzle .icon-button[hidden]{display:none}.hint-button{margin-right:auto}.hint-button:hover{color:var(--turquoise);border-color:var(--turquoise)}.full-game .tip-link a{display:inline-flex;align-items:center;gap:.55rem;padding:.3rem .85rem .3rem .3rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);background:color-mix(in srgb,var(--gold) 8%,var(--card));color:var(--text);font-size:.82rem;font-weight:600;text-decoration:none;line-height:1.25;transition:border-color .15s,background-color .15s}.full-game .tip-link a:hover,.full-game .tip-link a:focus-visible{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,var(--card))}.full-game img{width:28px;height:28px;border-radius:50%;flex:none}.full-game .full-game-arrow{color:var(--gold);transition:transform .15s}.full-game a:hover .full-game-arrow,.full-game a:focus-visible .full-game-arrow{transform:translate(3px)}.full-game .tip{left:auto;right:0}.full-game .tip:after{left:auto;right:1.2rem;transform:translate(50%,-50%) rotate(45deg)}.replay{display:flex;gap:.25rem;margin-right:auto}.replay[hidden]{display:none}.export{position:relative;flex:none}.export-menu{position:absolute;top:calc(100% + .4rem);right:0;z-index:20;width:max-content;max-width:min(20rem,80vw);display:grid;gap:.15rem;padding:.4rem;border-radius:12px;background:var(--card);border:1px solid var(--line-strong);box-shadow:var(--shadow)}.export-menu[hidden]{display:none}.export-menu button{font:inherit;font-size:.88rem;text-align:left;padding:.45rem .7rem;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.export-menu button:hover,.export-menu button:focus-visible{background:var(--card-2)}.export-note{font-size:.8rem;color:var(--muted);padding:.3rem .7rem .1rem;max-width:18rem}.export-text{font-family:var(--mono);font-size:.72rem;width:min(18rem,75vw);margin:.2rem .4rem .3rem;padding:.4rem;border:1px solid var(--line);border-radius:8px;background:var(--card-2);color:var(--text);resize:vertical}.favorite-button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.favorite-button[aria-pressed=true] svg{fill:currentColor}.share{width:min(58rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:1.1rem 1.3rem 1.3rem;border:1px solid var(--line-strong);border-radius:18px;background:var(--card);color:var(--text);box-shadow:var(--shadow)}.share::backdrop{background:#080e2099;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.share-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.share-head h2{font-size:1.25rem;margin:0}.share-close{font:inherit;font-size:1.5rem;line-height:1;width:2.2rem;height:2.2rem;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.share-close:hover{background:var(--card-2);color:var(--text)}.share-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(16rem,1fr);gap:1.4rem;align-items:start}.share-left{display:grid;gap:.7rem;position:sticky;top:0}.share-preview{display:grid;place-items:center;padding:.6rem;border-radius:14px;background:var(--card-2)}.share-picture{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 4px 18px #00000040}.share-preview[data-format=story] .share-picture{width:auto;max-width:100%;max-height:min(60vh,34rem)}.share-preview[data-format=square] .share-picture{width:auto;max-width:100%;max-height:min(60vh,30rem)}.share-formats{display:flex;justify-self:center;gap:.15rem;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:var(--card-2)}.share-formats button{font:inherit;font-size:.82rem;padding:.35rem .85rem;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.share-formats button[aria-pressed=true]{background:var(--lapis);color:var(--on-lapis)}.share-side{display:grid;gap:.9rem;align-content:start}.share-main{display:grid;gap:.5rem}.share-big{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--line-strong);background:var(--card-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.share-big:hover{border-color:var(--lapis)}.share-big.primary{background:var(--lapis);border-color:var(--lapis);color:var(--on-lapis)}.share-big.primary:hover{filter:brightness(1.07)}.share-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.4rem}.share-small{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.55rem .4rem;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:.76rem;cursor:pointer}.share-small:hover{border-color:var(--line-strong);color:var(--text)}.share-label{display:grid;gap:.35rem}.share-label>span{font-size:.74rem;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.share-text{display:block;width:100%;padding:.55rem .7rem;font:inherit;font-size:.88rem;line-height:1.45;color:var(--text);background:var(--ground);border:1px solid var(--line-strong);border-radius:10px;resize:vertical}.share-links{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.share-links a{padding:.3rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--card-2);color:var(--text);font-size:.8rem;text-decoration:none}.share-links a:hover{border-color:var(--lapis);color:var(--lapis)}.share-link{display:flex;align-items:center;gap:.9rem;padding:.7rem;border-radius:12px;background:var(--card-2)}.share-qr{flex:none;width:5.5rem;margin:0}.share-qr svg{display:block;width:100%;height:auto;border-radius:6px}.share-address{margin:0;font-family:var(--mono);font-size:.7rem;color:var(--gold);overflow-wrap:anywhere}.share-address span{display:block;margin-bottom:.25rem;font-family:var(--sans);font-size:.8rem;color:var(--muted)}.share-qr-window{width:min(24rem,calc(100vw - 2rem));text-align:center}.share-qr-large{width:min(16rem,100%);margin:.2rem auto 0}.share-qr-window .share-address{margin-top:.8rem}.share-qr-window .share-links{justify-content:center;margin-top:.9rem}.share-status{margin:0;font-size:.84rem;color:var(--turquoise);min-height:0}.share-status:empty{display:none}@media (max-width: 760px){.share{width:100vw;max-width:100vw;max-height:92vh;margin:auto 0 0;border-radius:18px 18px 0 0;padding:.9rem 1rem calc(1.2rem + env(safe-area-inset-bottom,0px))}.share-body{grid-template-columns:minmax(0,1fr);gap:1rem}.share-left{position:static}.share-preview[data-format=story] .share-picture{max-height:46vh}}.puzzle-board{position:relative}.puzzle-board>.analysis-button{position:absolute;top:.3rem;right:.3rem;z-index:2;width:1.9rem;height:1.9rem;padding:0;display:grid;place-items:center;border-radius:999px;color:var(--lapis);border:1px solid var(--lapis);background:var(--card);box-shadow:var(--shadow)}.puzzle-board>.analysis-button.analysis-above{right:0;width:2.3rem;height:2.3rem;box-shadow:none}@media (max-width: 760px),(pointer: coarse) and (max-height: 500px){.puzzle-board>.analysis-button,.settings-part.engine-part{display:none}}.puzzle-board>.analysis-button:hover,.puzzle-board>.analysis-button:focus-visible{background:var(--card)}.analysis-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(15rem,1fr);gap:1.3rem;align-items:start}.analysis-board{position:relative;touch-action:none}.analysis-board svg{display:block;width:100%;height:auto;border-radius:10px}.analysis-side{display:grid;gap:.8rem;min-width:0}.analysis-buttons{display:flex;flex-wrap:wrap;gap:.35rem}.analysis-moves{margin:0;max-height:9rem;overflow-y:auto;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--card-2);line-height:1.9;font-size:.95rem;color:var(--muted)}.analysis-moves .move-link{font:inherit;font-weight:600;color:var(--text);background:none;border:0;padding:.05em .25em;border-radius:6px;cursor:pointer}.analysis-moves .move-link:hover{background:var(--card)}.analysis-moves .move-link.current{background:var(--lapis);color:var(--on-lapis)}.analysis-variation{font-size:.88em;color:var(--faint)}.analysis-variation .move-link{font-weight:500;color:var(--muted)}.analysis-hint{margin:0;font-size:.82rem;color:var(--muted)}.engine-panel{padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--card-2)}.engine-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.engine-buttons{display:flex;gap:.35rem}.engine-buttons button{font:inherit;font-size:.82rem;padding:.3rem .7rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--card);color:var(--text);cursor:pointer}.engine-buttons button[aria-pressed=true]{border-color:var(--lapis);color:var(--lapis)}.engine-output{margin-top:.6rem;display:grid;gap:.45rem}.engine-panel.pending .engine-output{opacity:.55}.engine-score{display:flex;align-items:center;gap:.7rem}.engine-value{font-family:var(--mono);font-weight:700;font-size:1.1rem;min-width:4.5rem;color:var(--text)}.engine-bar{flex:1;height:.6rem;border-radius:999px;background:var(--square-dark);overflow:hidden;border:1px solid var(--line-strong)}.engine-bar i{display:block;height:100%;width:50%;background:var(--square-light);transition:width .3s}.engine-line{margin:0;font-size:.9rem;color:var(--text);line-height:1.5}.engine-info{margin:0;font-size:.74rem;color:var(--faint);display:grid;gap:.15rem}.engine-info a{color:inherit}@media (max-width: 760px){.analysis-body{grid-template-columns:1fr}.analysis-moves{max-height:6rem}}.card.puzzle{touch-action:pan-y}main:has(.card.puzzle){overflow-x:clip;position:relative}.swipe-ghost{position:absolute;z-index:10;margin:0;pointer-events:none;overflow:hidden;will-change:transform;transform-origin:center}.card.puzzle.swipe-ghost{height:auto}.swipe-ghost-board{position:absolute;border-radius:12px;overflow:hidden}.swipe-ghost-board svg{display:block;width:100%;height:auto}
