:root{--board-background: #001826;--board-surface: #0f6f87;--number-cell-bg: #0f6f87;--number-text: #9fd3c6;--letter-cell-bg: #9fd3c6;--letter-text: #001d2b;--accent-primary: #0c85a6;--accent-secondary: #2caac4;--highlight-correct: #5e9f54;--highlight-present: #b8a73e;--highlight-neutral: #2b5f6f;--control-button-bg: #9fd3c6;--control-button-icon: #001d2b;--hud-text: #d7e5de;--timer-text: #b9d7b2;--app-bg-start: #00121d;--app-bg-end: #00283b;--board-outline: #0a5670;--panel-bg: rgba(4, 34, 51, .62);--panel-bg-solid: #042233;--panel-border: rgba(11, 125, 157, .45);--cell-stroke: rgba(1, 34, 53, .25);--highlight-overlay-opacity: 1;--tutorial-hand-icon-fill: #e9d8a7;--tutorial-hand-icon-offset: 50%}.svg-anim{transform-box:fill-box;transform-origin:center}.slide-track{animation:slideTrack var(--anim-slide-duration) linear;animation-fill-mode:both;will-change:transform,opacity;transform-box:fill-box;transform-origin:center}.slide-track-letter-row{animation-duration:var(--anim-letter-row-slide-duration)}.derived-letter-in,.derived-letter-out,.board-derived-letter-in,.board-derived-letter-out{will-change:transform,opacity;transform-box:fill-box;transform-origin:center;animation-fill-mode:both}.highlight-swap-in,.highlight-swap-out{will-change:transform,opacity;transform-box:fill-box;transform-origin:center}.derived-letter-in{animation:derivedLetterIn var(--anim-glyph-swap-duration) cubic-bezier(.2,.7,.2,1);opacity:0}.derived-letter-out{animation:derivedLetterOut var(--anim-glyph-swap-duration) cubic-bezier(.2,.7,.2,1);opacity:1}.board-derived-letter-in{animation:boardDerivedLetterIn var(--anim-glyph-swap-duration) cubic-bezier(.2,.7,.2,1);opacity:0}.board-derived-letter-out{animation:boardDerivedLetterOut var(--anim-glyph-swap-duration) cubic-bezier(.2,.7,.2,1);opacity:1}.highlight-swap-in{animation:highlightSwapIn var(--anim-highlight-swap-duration) cubic-bezier(.2,.7,.2,1)}.highlight-swap-out{animation:highlightSwapOut var(--anim-highlight-swap-duration) cubic-bezier(.2,.7,.2,1)}.highlight-green{fill:var(--highlight-correct);opacity:var(--highlight-overlay-opacity)}.highlight-yellow{fill:var(--highlight-present);opacity:var(--highlight-overlay-opacity)}.highlight-neutral{fill:transparent;opacity:1}.highlight-pulse{animation:highlightPulse var(--anim-highlight-pulse-duration) cubic-bezier(.2,.7,.2,1)}.win-celebration-settle{animation:winCelebrationSettle var(--anim-win-settle-duration) cubic-bezier(.18,.72,.22,1);animation-fill-mode:both}.win-celebration-ring{animation:winCelebrationRing var(--anim-win-ring-duration) cubic-bezier(.18,.72,.22,1);animation-delay:var(--win-celebration-delay, 0ms);animation-fill-mode:both;filter:drop-shadow(0 0 0 rgba(0,0,0,0));will-change:transform,opacity,filter;transform-box:fill-box;transform-origin:center}.win-celebration-letter{animation:winCelebrationLetter var(--anim-win-glyph-duration) cubic-bezier(.18,.72,.22,1);animation-delay:var(--win-celebration-delay, 0ms);animation-fill-mode:both;will-change:transform,opacity;transform-box:fill-box;transform-origin:center}@keyframes slideTrack{0%{transform:translate(var(--slide-from-x, 0px),var(--slide-from-y, 0px));opacity:1}to{transform:translate(0);opacity:1}}@keyframes highlightPulse{0%{transform:scale(.95);opacity:.55}to{transform:scale(1);opacity:1}}@keyframes winCelebrationSettle{0%{transform:scale(1);opacity:1}50%{transform:scale(1.018);opacity:1}to{transform:scale(1);opacity:1}}@keyframes winCelebrationRing{0%{transform:scale(.82);opacity:0;filter:drop-shadow(0 0 0 rgba(0,0,0,0))}45%{transform:scale(1.1);opacity:1;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--letter-cell-bg) 58%,transparent))}to{transform:scale(1);opacity:1;filter:drop-shadow(0 0 0 rgba(0,0,0,0))}}@keyframes winCelebrationLetter{0%{transform:scale(1);opacity:1}38%{transform:scale(1.11);opacity:1}to{transform:scale(1);opacity:1}}@keyframes derivedLetterIn{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes derivedLetterOut{0%{transform:scaleX(1);opacity:1}to{transform:scaleX(0);opacity:0}}@keyframes boardDerivedLetterIn{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes boardDerivedLetterOut{0%{transform:scaleX(1);opacity:1}to{transform:scaleX(0);opacity:0}}@keyframes highlightSwapIn{0%{opacity:0}to{opacity:1}}@keyframes highlightSwapOut{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.slide-track,.derived-letter-in,.derived-letter-out,.board-derived-letter-in,.board-derived-letter-out,.highlight-swap-in,.highlight-swap-out,.highlight-pulse,.win-celebration-settle,.win-celebration-ring,.win-celebration-letter{animation-duration:var(--anim-reduced-motion-duration)}}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{font-family:Roboto,sans-serif;color:var(--hud-text);background:radial-gradient(120% 80% at 50% 0%,var(--app-bg-end) 0%,var(--app-bg-start) 70%),var(--board-background)}.app-shell{min-height:100vh;display:flex;justify-content:center;align-items:stretch;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top))}.game-screen{width:min(980px,100%);min-height:calc(100vh - 2rem);display:flex;flex-direction:column;align-items:center;gap:1rem}.hud-panel{width:min(980px,100%);--hud-top-size: clamp(1.8rem, 4.8vw, 2.25rem);padding:.25rem clamp(.55rem,2vw,1rem) 0;display:grid;gap:.45rem}.hud-row{display:flex;justify-content:space-between;gap:.9rem;align-items:center;color:var(--letter-cell-bg)}.hud-logo-button{justify-self:start;display:flex;align-items:center;min-height:3rem;border:0;background:transparent;padding:0;cursor:pointer}.hud-logo-button:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:4px;border-radius:.35rem}.hud-logo{display:block;width:auto;height:clamp(2rem,5.2vw,2.75rem);object-fit:contain}.hud-actions{display:inline-flex;align-items:center;gap:.4rem;min-height:3rem;justify-self:end}.hud-timer-row{display:flex;justify-content:center;align-items:center;margin-top:.2rem;color:var(--letter-cell-bg)}.hud-secret-word{margin:1.5rem 0 0;text-align:center;color:var(--letter-cell-bg);font-size:clamp(2.5rem,6.2vw,3.5rem);font-weight:700;letter-spacing:.2em;text-transform:uppercase;line-height:1}.hud-puzzle-info-trigger{border:0;background:transparent;color:inherit;padding:0;margin:0;width:100%;cursor:pointer;display:grid;justify-items:center}.hud-puzzle-info-trigger:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:6px;border-radius:.35rem}.hud-status-strip{width:min(92vw,420px);display:flex;align-items:center;justify-content:space-between;gap:clamp(.35rem,1vw,.75rem);color:var(--letter-cell-bg);text-transform:uppercase;letter-spacing:.08em;margin:.25rem auto 0;padding-inline:clamp(.2rem,.8vw,.45rem)}.hud-status-difficulty{flex:0 0 8rem;text-align:right;font-size:clamp(1rem,2.7vw,1.55rem);white-space:nowrap}.hud-status-stars{flex:0 0 auto;display:inline-flex;align-items:center;gap:.05em;padding:.2rem .65rem .24rem;background:transparent}.hud-status-stars-filled{color:var(--letter-cell-bg);font-size:clamp(1.35rem,3.2vw,1.9rem);line-height:1}.hud-status-stars-empty{color:color-mix(in srgb,var(--letter-cell-bg) 48%,transparent);font-size:clamp(1.35rem,3.2vw,1.9rem);line-height:1}.hud-status-moves{flex:0 0 8rem;text-align:left;font-size:clamp(1rem,2.7vw,1.55rem);white-space:nowrap}.hud-post-win-actions{width:min(96vw,520px);margin:.9rem auto 0;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.5rem;position:relative}.hud-post-tutorial-actions{width:min(96vw,420px)}.hud-post-win-button{flex:0 1 auto;min-width:5.5rem;min-height:2.3rem;font-size:clamp(.72rem,2.1vw,.84rem);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:.5rem;padding:.38rem .34rem;transition:transform .12s ease,filter .12s ease}.hud-post-win-button:hover{filter:brightness(1.06)}.hud-post-win-button:active{transform:translateY(1px)}.hud-post-win-button.hud-button-icon{flex:0 0 2.3rem;min-width:2.3rem;min-height:2.3rem;padding:0}.hud-post-win-share-feedback{position:absolute;top:100%;left:50%;transform:translate(-50%);margin:.32rem 0 0;color:var(--accent-secondary);font-size:.86rem;font-weight:700;text-align:center}@media(max-width:420px){.hud-post-win-actions{width:min(96vw,420px);gap:.32rem}.hud-post-win-button{font-size:.68rem;letter-spacing:.01em;min-width:4.8rem;padding:.32rem .24rem}.hud-post-win-button.hud-button-icon{flex-basis:2.1rem;min-width:2.1rem;min-height:2.1rem}}.hud-title{margin:0;font-size:clamp(1.05rem,2.5vw,1.35rem);letter-spacing:.04em}.hud-meta,.hud-last-move,.hud-label{color:var(--hud-text)}.hud-timer{color:inherit;font-weight:700;font-size:var(--hud-top-size);letter-spacing:.02em;line-height:1}.hud-timer-button{border:0;background:transparent;color:inherit;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:.65rem;min-height:2.6rem;line-height:1}.hud-timer-button:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:4px;border-radius:.3rem}.hud-timer-state{color:inherit;font-size:clamp(.72rem,1.85vw,.9rem);font-weight:800;letter-spacing:.08em}.hud-input{min-width:11rem;border-radius:.55rem;border:1px solid var(--accent-secondary);background:var(--board-surface);color:var(--hud-text);padding:.4rem .55rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.hud-button{border:1px solid color-mix(in srgb,var(--number-cell-bg) 78%,white 22%);background:var(--number-cell-bg);color:var(--hud-text);border-radius:.55rem;padding:.42rem .65rem;font-weight:700;cursor:pointer}.hud-button-icon{display:inline-grid;place-items:center;min-width:2.75rem;min-height:2.45rem;padding:.38rem}.hud-button-icon>svg{width:1.02rem;height:1.02rem;display:block}.hud-button:disabled,.hud-button[aria-disabled=true]{opacity:.55;cursor:default}.hud-help-button{min-width:3rem;min-height:3rem;border:0;background:transparent;color:inherit;font-size:var(--hud-top-size);font-weight:900;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}.hud-help-button>svg{width:1em;height:1em;display:block}.hud-help-button:hover,.hud-help-button:focus-visible{color:inherit}.stats-backdrop,.puzzle-info-backdrop,.puzzle-select-backdrop,.settings-backdrop,.tutorial-backdrop,.win-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000a12c2;display:grid;place-items:center;padding:1rem}.stats-modal,.puzzle-info-modal,.puzzle-select-modal,.settings-modal,.tutorial-modal,.win-modal{border:1px solid var(--panel-border);background:var(--panel-bg-solid);border-radius:.88rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.95rem;box-shadow:0 18px 36px #00070c70,0 0 0 1px color-mix(in srgb,var(--board-surface) 24%,transparent)}.stats-header,.puzzle-info-header,.puzzle-select-header,.settings-header,.tutorial-header{display:flex;align-items:center;justify-content:space-between}.stats-title,.puzzle-info-title,.puzzle-select-title,.settings-title,.tutorial-title{margin:0;color:var(--hud-text);font-size:clamp(1.5rem,4.1vw,1.95rem);letter-spacing:.01em}.stats-close,.puzzle-info-close,.puzzle-select-close,.settings-close,.tutorial-close{width:2rem;height:2rem;border-radius:50%;border:1px solid var(--accent-secondary);background:transparent;color:var(--hud-text);font-size:1.2rem;line-height:1;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.stats-close:hover,.puzzle-info-close:hover,.puzzle-select-close:hover,.settings-close:hover,.tutorial-close:hover{background:color-mix(in srgb,var(--number-cell-bg) 22%,transparent);border-color:color-mix(in srgb,var(--accent-secondary) 72%,white 28%)}.stats-close:active,.puzzle-info-close:active,.puzzle-select-close:active,.settings-close:active,.tutorial-close:active{transform:translateY(1px)}.stats-backdrop{z-index:42}.stats-modal{width:min(660px,100%);max-height:min(84vh,760px);overflow:auto;display:grid;gap:.7rem}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.stats-card{border:1px solid color-mix(in srgb,var(--panel-border) 72%,transparent);background:color-mix(in srgb,var(--board-surface) 30%,transparent);border-radius:.5rem;padding:.5rem .45rem;display:grid;justify-items:center;gap:.16rem}.stats-card-value{color:var(--hud-text);font-weight:800;font-size:1.08rem}.stats-card-label{color:var(--hud-text);opacity:.8;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.stats-section-title,.win-modal-section-title{color:var(--hud-text);font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.stats-current{border:1px solid color-mix(in srgb,var(--panel-border) 72%,transparent);background:color-mix(in srgb,var(--board-surface) 25%,transparent);border-radius:.5rem;padding:.55rem;color:var(--hud-text);display:grid;grid-template-columns:1fr;gap:.28rem}.stats-current .stats-section-title{grid-column:1 / -1}.stats-current-row{display:flex;align-items:baseline;justify-content:flex-start;gap:.24rem}.stats-current-key{font-weight:700;min-width:5.8rem;line-height:1}.stats-stars{display:inline-flex;align-items:center;gap:.06em;line-height:1}.stats-stars-filled{color:var(--highlight-correct);text-shadow:0 0 8px color-mix(in srgb,var(--highlight-correct) 42%,transparent)}.stats-stars-empty{color:color-mix(in srgb,var(--hud-text) 35%,transparent)}.stats-achievements{display:grid;gap:.35rem}.stats-identity{border:1px solid color-mix(in srgb,var(--panel-border) 72%,transparent);background:color-mix(in srgb,var(--board-surface) 18%,transparent);border-radius:.5rem;padding:.55rem;color:var(--hud-text);display:grid;gap:.22rem;font-size:.82rem}.stats-identity code{color:var(--accent-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem}.stats-identity-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}.stats-identity-hint{opacity:.82;font-size:.76rem}.stats-achievement-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.46rem}.stats-achievement{border:1px solid color-mix(in srgb,var(--panel-border) 66%,transparent);background:color-mix(in srgb,var(--board-surface) 22%,transparent);border-radius:.5rem;padding:.45rem .5rem;display:grid;gap:.14rem}.stats-achievement.is-unlocked{border-color:color-mix(in srgb,var(--highlight-correct) 70%,var(--panel-border) 30%);background:color-mix(in srgb,var(--highlight-correct) 22%,transparent)}.stats-achievement-title{color:var(--hud-text);font-weight:700;font-size:.82rem}.stats-achievement-desc{color:var(--hud-text);opacity:.82;font-size:.74rem}.stats-achievement-progress{color:var(--accent-secondary);font-size:.74rem;font-weight:700}.stats-history{display:grid;gap:.32rem}.stats-history-list{display:grid;gap:.22rem}.stats-history-row{border:1px solid color-mix(in srgb,var(--panel-border) 64%,transparent);border-radius:.42rem;padding:.35rem .45rem;display:grid;grid-template-columns:.8fr .8fr .8fr 1fr .9fr;align-items:center;gap:.3rem;color:var(--hud-text);font-size:.8rem}.stats-history-empty{margin:0;color:var(--hud-text);opacity:.82;font-size:.82rem}.puzzle-info-backdrop{z-index:46}.puzzle-select-backdrop{z-index:45}.puzzle-select-modal{width:min(640px,100%);max-height:min(82vh,760px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.65rem}.puzzle-select-subtitle{margin:0;color:var(--hud-text);font-size:.92rem;opacity:.9}.puzzle-select-list{display:grid;gap:.44rem;min-height:0;overflow-y:auto;padding-right:.25rem}.puzzle-select-row{border:1px solid color-mix(in srgb,var(--panel-border) 68%,transparent);border-radius:.55rem;background:color-mix(in srgb,var(--board-surface) 18%,transparent);padding:.46rem .5rem;display:grid;grid-template-columns:minmax(7.4rem,1fr) auto;align-items:center;gap:.48rem}.puzzle-select-row-date{color:var(--hud-text);font-size:.92rem;font-weight:700;letter-spacing:.03em;line-height:1;white-space:nowrap}.puzzle-select-row-actions{display:inline-flex;align-items:center;gap:.34rem}.puzzle-select-empty{margin:0;color:color-mix(in srgb,var(--hud-text) 88%,transparent);font-size:.92rem;font-weight:600;padding:.35rem 0}.puzzle-select-button{min-height:2.6rem;min-width:5.2rem;font-size:.86rem;letter-spacing:.03em;text-transform:uppercase;padding:.3rem .42rem;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.12rem;line-height:1}.puzzle-select-button-label{font-size:.78rem;font-weight:800;letter-spacing:.04em}.puzzle-select-button:not(.is-completed) .puzzle-select-button-label{transform:translateY(.04rem)}.puzzle-select-button-stars{font-size:.78rem;line-height:1;letter-spacing:.02em}.puzzle-select-stars-filled{color:var(--highlight-correct)}.puzzle-select-stars-empty{color:color-mix(in srgb,var(--hud-text) 40%,transparent)}.puzzle-select-button.is-completed{background:var(--board-background);border-color:color-mix(in srgb,var(--number-cell-bg) 72%,white 28%);color:var(--number-text);opacity:1;filter:none}.puzzle-info-modal{width:min(640px,100%);max-height:none;overflow:hidden;display:grid;gap:.7rem}.puzzle-info-section{display:grid;gap:.3rem}.puzzle-info-target-grid{border:1px solid color-mix(in srgb,var(--panel-border) 70%,transparent);background:color-mix(in srgb,var(--board-surface) 14%,transparent);border-radius:.5rem;padding:.45rem;gap:.35rem}.puzzle-info-target-grid .win-modal-target-chip{font-size:clamp(.82rem,1.55vw,.94rem);padding:.36rem .42rem}.puzzle-info-card-grid{display:flex;flex-wrap:wrap;gap:.35rem}.puzzle-info-card{flex:1 1 11.5rem;min-width:11.5rem;max-width:14rem;border:1px solid color-mix(in srgb,var(--panel-border) 72%,transparent);background:color-mix(in srgb,var(--board-surface) 25%,transparent);border-radius:.5rem;padding:.35rem .45rem;display:grid;gap:.08rem}.puzzle-info-label{color:var(--hud-text);opacity:.8;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.puzzle-info-value{color:var(--hud-text);font-weight:800;font-size:.86rem;overflow-wrap:anywhere;text-align:left}.puzzle-info-stars{display:inline-flex;align-items:center;gap:.06em}.puzzle-info-stars-filled{color:var(--highlight-correct);text-shadow:0 0 8px color-mix(in srgb,var(--highlight-correct) 42%,transparent)}.puzzle-info-stars-empty{color:color-mix(in srgb,var(--hud-text) 35%,transparent)}.settings-backdrop{z-index:44}.settings-modal{width:min(420px,100%);display:grid;gap:.7rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--hud-text)}.settings-label{color:var(--hud-text);font-weight:700;letter-spacing:.03em}.settings-checkbox{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;cursor:pointer}.settings-checkbox-input{width:1.1rem;height:1.1rem;margin:0;accent-color:var(--number-cell-bg);cursor:pointer}.settings-checkbox-input:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px;border-radius:.2rem}.board-frame{--board-height-ratio: .877;--board-fit-reserve: 30rem;--hint-row-layout-reserve: clamp(7rem, 15vh, 9.5rem);--tutorial-hint-font-size: clamp(1.05rem, 2.8vw, 1.38rem);--tutorial-hint-line-height: 1.2;--tutorial-hint-block-height: calc( var(--tutorial-hint-font-size) * var(--tutorial-hint-line-height) * 2 );--hint-cell-height: clamp(2.05rem, 7.4cqw, 3.1rem);--hint-font-size: clamp(.95rem, 4.2cqw, 2rem);--hint-ring-size: min(calc(var(--hint-cell-height) - .56rem), 2.6rem);width:min(980px,100%,calc((100dvh - var(--board-fit-reserve)) / var(--board-height-ratio)));border:0;border-radius:0;background:transparent;padding:0;margin-top:clamp(.5rem,1.6vh,1rem);margin-bottom:var(--hint-row-layout-reserve);margin-inline:auto;justify-self:center;align-self:center;flex:0 0 auto;display:grid;justify-items:center;transform:translateY(0);position:relative;container-type:inline-size}.tutorial-board-hint{margin:0 0 .52rem;width:min(980px,100%);color:var(--accent-secondary);font-size:var(--tutorial-hint-font-size);font-weight:800;line-height:var(--tutorial-hint-line-height);min-height:var(--tutorial-hint-block-height);letter-spacing:.02em;text-align:center;display:flex;align-items:center;justify-content:center;white-space:normal}.tutorial-complete-actions-overlay{position:absolute;left:50%;top:calc(var(--tutorial-hint-block-height) + .2rem);transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:.45rem;z-index:2}.tutorial-complete-action-button{min-height:2rem;min-width:7.15rem;font-size:clamp(.68rem,1.8vw,.78rem);letter-spacing:.015em;text-transform:uppercase;padding:.3rem .42rem;white-space:nowrap}.board-svg{width:100%;height:auto;display:block;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;shape-rendering:crispEdges;text-rendering:geometricPrecision;transform:translateZ(0);backface-visibility:hidden}.letter-math-overlay{position:absolute;top:calc(100% + clamp(1rem,2.6vw,1.6rem));left:0;right:0;display:block;padding:0 clamp(1.2rem,4vw,2.5rem);background:transparent;pointer-events:auto;touch-action:none;z-index:12}.letter-math-grid{display:grid;grid-template-columns:repeat(var(--letter-math-cols),minmax(1.9rem,auto));grid-auto-rows:var(--hint-cell-height);gap:0;border:0;background:transparent;box-shadow:0 12px 28px color-mix(in srgb,var(--board-background) 76%,transparent);width:100%;max-height:none;overflow:hidden}.letter-math-spacer-cell{min-height:var(--hint-cell-height);height:var(--hint-cell-height);background:transparent;border:0}.letter-math-header-cell,.letter-math-side-cell,.letter-math-result-cell{min-height:var(--hint-cell-height);height:var(--hint-cell-height);min-width:1.9rem;display:grid;place-items:center;font-weight:800;line-height:1;-webkit-user-select:none;user-select:none;border:1px solid color-mix(in srgb,var(--panel-border) 75%,transparent);position:relative;isolation:isolate}.letter-math-header-cell{background:var(--number-cell-bg);color:var(--number-text);font-size:clamp(1.45rem,2.9vw,2.5rem);font-size:var(--hint-font-size)}.letter-math-side-cell{background:var(--letter-cell-bg);color:var(--letter-text);font-size:clamp(1.45rem,2.9vw,2.5rem);font-size:var(--hint-font-size)}.letter-math-result-cell{background:color-mix(in srgb,var(--board-background) 90%,var(--board-surface) 10%);color:var(--number-cell-bg);font-size:clamp(1.45rem,2.9vw,2.5rem);font-size:var(--hint-font-size)}.letter-math-side-cell.is-solution-letter:after,.letter-math-result-cell.is-solution-letter:after{content:"";position:absolute;width:var(--hint-ring-size);aspect-ratio:1 / 1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid currentColor;box-sizing:border-box;pointer-events:none}.board-svg *{user-select:none;-webkit-user-select:none}.board-svg text{font-family:Roboto,sans-serif}.board-svg ::selection{background:transparent}.number-cell{fill:var(--number-cell-bg);stroke:none;shape-rendering:crispEdges}.number-cell-text{fill:var(--number-text);font-size:2.7rem;font-weight:900;letter-spacing:.04em}.letter-cell{fill:var(--letter-cell-bg);stroke:none;shape-rendering:crispEdges}.letter-cell-text{fill:var(--letter-text);font-size:2.7rem;font-weight:900;letter-spacing:.04em}.derived-letter-text{fill:var(--number-cell-bg);font-size:2.7rem;font-weight:700;letter-spacing:0}.summary-correct-ring{fill:none;stroke:var(--number-cell-bg);stroke-width:4;vector-effect:non-scaling-stroke}.control-cell{fill:var(--letter-cell-bg);stroke:none;shape-rendering:crispEdges}.letter-row-surface{filter:none}.gesture-zone-layer{pointer-events:all}.gesture-zone{fill:#0000;pointer-events:all;touch-action:none;-webkit-tap-highlight-color:transparent;transition:fill-opacity 90ms ease}.gesture-zone.is-active{fill:transparent;fill-opacity:0}.control-letter-text{fill:var(--letter-text);font-size:2.7rem;font-weight:900}.control-triangle{shape-rendering:crispEdges;fill:var(--triangle-fill);stroke:none;transform-box:fill-box;transform-origin:center;transition:fill .12s ease}.control-triangle-number{--triangle-fill: var(--number-cell-bg);--triangle-hover-fill: color-mix(in srgb, var(--number-cell-bg) 74%, var(--accent-secondary) 26%);--triangle-active-fill: color-mix(in srgb, var(--number-cell-bg) 62%, var(--accent-secondary) 38%)}.control-triangle-control{--triangle-fill: var(--letter-cell-bg);--triangle-hover-fill: color-mix(in srgb, var(--letter-cell-bg) 86%, white 14%);--triangle-active-fill: color-mix(in srgb, var(--letter-cell-bg) 74%, white 26%)}.tutorial-board-guide{pointer-events:none}.tutorial-board-guide-finger-glyph-inner,.tutorial-board-guide-click-glyph{color:var(--tutorial-hand-icon-fill)}.tutorial-board-guide-icon-svg{display:block;color:var(--tutorial-hand-icon-fill);opacity:1}.is-interactive{cursor:pointer}.control-button-tab.is-disabled{pointer-events:none}@media(hover:hover)and (pointer:fine){.is-interactive:hover .control-triangle{fill:var(--triangle-hover-fill)}.is-interactive:active .control-triangle,.is-interactive:hover:active .control-triangle{fill:var(--triangle-active-fill)}}.is-interactive:focus-visible rect{stroke:var(--accent-secondary);stroke-width:2}.controls-layer.is-animating .control-button-tab.is-active .control-triangle{fill:var(--triangle-active-fill);animation:controlCapPressCue .22s ease-out both}.controls-layer.is-tutorial-pressing .control-button-tab.is-active .control-triangle{fill:var(--triangle-active-fill);animation:controlCapTutorialPress .9s ease-in-out infinite}@keyframes controlCapPressCue{0%{fill:var(--triangle-hover-fill)}45%{fill:var(--triangle-active-fill)}to{fill:var(--triangle-active-fill)}}@keyframes controlCapTutorialPress{0%{fill:var(--triangle-hover-fill)}40%{fill:var(--triangle-active-fill)}60%{fill:var(--triangle-active-fill)}to{fill:var(--triangle-hover-fill)}}.pause-screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:0;margin:0;width:100vw;height:100vh;background:#000a12e6;color:var(--letter-cell-bg);display:grid;place-items:center;gap:.55rem;align-content:center;text-transform:uppercase;cursor:pointer}.pause-screen-title{font-size:clamp(2.2rem,7vw,3.4rem);font-weight:800;letter-spacing:.12em}.pause-screen-subtitle{font-size:clamp(.9rem,2.8vw,1.12rem);font-weight:600;letter-spacing:.08em}.orientation-lock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;background:#000a12f5;color:var(--letter-cell-bg);display:grid;place-content:center;text-align:center;padding:1.4rem;gap:.55rem}.orientation-lock-title{margin:0;font-size:clamp(1.25rem,3.4vw,1.8rem);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.orientation-lock-text{margin:0;font-size:clamp(.95rem,2.2vw,1.2rem);font-weight:600;line-height:1.35}.first-launch-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:72;background:color-mix(in srgb,var(--board-background) 74%,black 26%);display:grid;place-items:center;padding:1.2rem}.first-launch-splash-card{width:min(92vw,460px);min-height:min(54vh,360px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.35rem;border:1px solid color-mix(in srgb,var(--number-cell-bg) 45%,transparent);border-radius:1rem;background:radial-gradient(130% 90% at 50% 0%,color-mix(in srgb,var(--number-cell-bg) 20%,transparent),transparent 66%),color-mix(in srgb,var(--board-background) 82%,black 18%);box-shadow:0 20px 45px #00000052}.first-launch-splash-logo{width:min(72vw,320px);height:auto;object-fit:contain;opacity:0;animation:splashLogoFadeIn .8s ease forwards}.first-launch-splash-action{min-width:10rem;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.first-launch-splash-action.is-visible{opacity:1;transform:translateY(0)}@keyframes splashLogoFadeIn{0%{opacity:0;transform:translateY(10px);filter:saturate(.8)}to{opacity:1;transform:translateY(0);filter:saturate(1)}}@media(hover:none)and (pointer:coarse){.controls-layer{pointer-events:none}.gesture-zone.is-active{fill-opacity:0}}.main-menu{width:min(960px,100%);border-radius:.8rem;border:1px solid var(--panel-border);background:var(--panel-bg);padding:.9rem 1rem;display:grid;gap:.7rem}.main-menu-title{margin:0;font-size:1rem}.main-menu-actions{display:flex;gap:.65rem;flex-wrap:wrap}.win-modal-backdrop{z-index:40}.win-modal{width:min(460px,100%);display:grid;gap:.72rem;text-align:center}.win-modal-hero{border:1px solid color-mix(in srgb,var(--panel-border) 72%,transparent);border-radius:.7rem;background:radial-gradient(120% 120% at 50% 0%,color-mix(in srgb,var(--accent-secondary) 22%,transparent) 0%,transparent 60%),color-mix(in srgb,var(--board-surface) 20%,transparent);padding:.82rem .75rem .7rem;display:grid;gap:.28rem}.win-modal-title{margin:0;color:var(--hud-text);font-size:clamp(1.85rem,5.2vw,2.15rem);letter-spacing:.02em}.win-modal-stars{margin:.08rem 0 0;font-size:clamp(2.15rem,6.4vw,2.5rem);line-height:1;letter-spacing:.05em}.win-modal-stars-filled{color:var(--highlight-correct);text-shadow:0 0 10px color-mix(in srgb,var(--highlight-correct) 45%,transparent)}.win-modal-stars-empty{color:color-mix(in srgb,var(--hud-text) 35%,transparent)}.win-modal-subtitle{margin:-.05rem 0 0;color:var(--hud-text);opacity:.9;font-size:1rem;font-weight:700;letter-spacing:.02em}.win-modal-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.52rem}.win-modal-summary-card{border:1px solid color-mix(in srgb,var(--panel-border) 68%,transparent);border-radius:.58rem;background:color-mix(in srgb,var(--board-surface) 26%,transparent);padding:.58rem .62rem .52rem;display:grid;gap:.16rem;justify-items:start;text-align:left}.win-modal-summary-label{color:var(--hud-text);opacity:.82;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.win-modal-summary-value{color:var(--hud-text);font-size:1.4rem;font-weight:800;letter-spacing:.02em}.win-modal-targets{display:grid;gap:.36rem;color:var(--hud-text)}.win-modal-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.46rem}.win-modal-target-chip{display:inline-flex;align-items:center;justify-content:center;min-width:0;border:1px solid color-mix(in srgb,var(--panel-border) 70%,transparent);background:color-mix(in srgb,var(--board-surface) 22%,transparent);border-radius:.5rem;padding:.42rem .5rem;color:var(--hud-text);font-size:clamp(.84rem,1.85vw,.98rem);font-weight:700;letter-spacing:.01em;line-height:1.1;white-space:nowrap;text-wrap:nowrap;text-align:center}.win-modal-target-stars{color:var(--highlight-correct);text-shadow:0 0 10px color-mix(in srgb,var(--highlight-correct) 45%,transparent)}.win-modal-target-grid .win-modal-target-chip:last-child{grid-column:1 / -1;justify-self:center}.win-modal-best{display:grid;gap:.34rem;justify-items:start;color:var(--hud-text);border:1px solid color-mix(in srgb,var(--panel-border) 68%,transparent);background:color-mix(in srgb,var(--board-surface) 18%,transparent);border-radius:.6rem;padding:.58rem .66rem}.win-modal-best-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem}.win-modal-best-item{border:1px solid color-mix(in srgb,var(--panel-border) 60%,transparent);background:color-mix(in srgb,var(--board-surface) 24%,transparent);border-radius:.45rem;padding:.38rem .46rem .34rem;display:grid;gap:.08rem;justify-items:start;align-content:start}.win-modal-best-key{opacity:.82;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.win-modal-best-value{font-size:1.26rem;font-weight:800;line-height:1.1;letter-spacing:.01em}.win-modal-best-item:first-child .win-modal-best-value{letter-spacing:.05em}.win-modal-actions{display:flex;justify-content:stretch;gap:.52rem;flex-wrap:wrap}.win-modal-actions .hud-button{flex:1 1 7.3rem;min-width:7.2rem}.win-modal-actions .hud-button.hud-button-icon{flex:0 0 2.75rem;min-width:2.75rem}.win-modal-play-another{width:100%;margin-top:-.1rem}.win-modal-share-feedback{margin:-.05rem 0 0;color:var(--accent-secondary);font-size:.9rem;font-weight:700}.tutorial-backdrop{z-index:45}.tutorial-modal{width:min(560px,100%);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.7rem;height:min(86vh,760px);max-height:min(86vh,760px);overflow:hidden}.tutorial-step-meta{color:var(--hud-text);opacity:.8;font-size:.95rem;margin-bottom:.05rem}.tutorial-step-title{margin:0 0 .12rem;color:var(--hud-text);font-size:clamp(1.45rem,3.5vw,1.72rem);line-height:1.12}.tutorial-step-body,.tutorial-step-hint{margin:0;color:var(--hud-text);line-height:1.44;max-width:52ch}.tutorial-step-hint{opacity:.85;font-size:clamp(1rem,2.35vw,1.06rem);margin-top:.08rem}.tutorial-step-body{font-size:clamp(1.06rem,2.45vw,1.14rem)}.tutorial-step-frame{display:grid;gap:.84rem;min-height:0;overflow-y:auto;align-content:start;padding-right:.15rem;scrollbar-gutter:stable}.tutorial-step-frame.is-slide-left{animation:tutorialStepSlideLeft .42s cubic-bezier(.18,.72,.2,1);animation-fill-mode:both}.tutorial-step-frame.is-slide-right{animation:tutorialStepSlideRight .42s cubic-bezier(.18,.72,.2,1);animation-fill-mode:both}.tutorial-example-goal{min-height:162px;gap:.5rem;padding:.7rem .74rem;background:color-mix(in srgb,var(--board-surface) 38%,transparent)}.tutorial-goal-target{color:var(--letter-cell-bg);font-size:1.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.tutorial-board-svg{width:min(100%,420px);height:auto}.tutorial-summary-lane-bg{fill:color-mix(in srgb,var(--board-background) 88%,var(--board-surface) 12%)}.tutorial-board-svg .letter-cell-text,.tutorial-board-svg .number-cell-text,.tutorial-board-svg .control-letter-text,.tutorial-board-svg .derived-letter-text{font-size:2rem}.tutorial-board-svg .summary-correct-ring{stroke-width:3}.tutorial-example-overlap-v2{position:relative;min-height:186px;padding:.58rem .72rem .64rem;background:color-mix(in srgb,var(--board-surface) 44%,transparent)}.tutorial-overlap-controls{position:absolute;top:.32rem;right:.34rem;z-index:2}.tutorial-overlap-toggle{border:0;background:transparent;color:var(--letter-cell-bg);width:2rem;height:2rem;padding:0;display:grid;place-items:center;cursor:pointer}.tutorial-overlap-toggle>svg{width:1.38rem;height:1.38rem;display:block}.tutorial-overlap-toggle:hover,.tutorial-overlap-toggle:focus-visible{color:color-mix(in srgb,var(--letter-cell-bg) 84%,white 16%)}.tutorial-overlap-equation{margin-top:.38rem;color:var(--hud-text);opacity:.88;font-size:.72rem;font-weight:700;text-align:center}.tutorial-end-cap .control-triangle{transition:fill .12s ease,transform .12s cubic-bezier(.22,.8,.22,1),stroke-width .12s ease}.tutorial-end-cap.is-pressed .control-triangle{fill:color-mix(in srgb,var(--triangle-fill) 88%,white 12%);stroke-width:1.35;transform:scale(.97)}.tutorial-example-movement-board{min-height:188px;padding:.58rem .72rem .64rem;background:color-mix(in srgb,var(--board-surface) 44%,transparent)}.tutorial-movement-board{width:min(100%,460px)}.tutorial-movement-caption{min-height:1.05rem}.tutorial-media{margin:0;border:1px solid var(--panel-border);border-radius:.55rem;background:color-mix(in srgb,var(--board-surface) 40%,transparent);overflow:hidden}.tutorial-media-image{display:block;width:100%;height:auto}.tutorial-example{border:1px solid var(--panel-border);border-radius:.55rem;background:color-mix(in srgb,var(--board-surface) 50%,transparent);min-height:110px;display:grid;place-items:center;overflow:hidden}.tutorial-example-mechanics{--tutorial-lane-cell: 1.96rem;--tutorial-lane-gap: .18rem;gap:0;padding:.4rem .62rem .5rem;min-height:146px}.tutorial-mechanics-layout{width:100%;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;column-gap:clamp(1.15rem,2.8vw,1.9rem)}.tutorial-overlap-panel{display:grid;justify-items:center;row-gap:.42rem;justify-self:center;width:max-content}.tutorial-overlap-scene{position:relative;width:calc((var(--tutorial-lane-cell) * 5) + (var(--tutorial-lane-gap) * 4));height:6.42rem}.tutorial-overlap-row-viewport{position:absolute;left:0;top:2.22rem;z-index:3}.tutorial-overlap-col-viewport{position:absolute;left:calc((var(--tutorial-lane-cell) + var(--tutorial-lane-gap)) * 2);top:.08rem;z-index:1}.tutorial-overlap-label{position:static;font-size:.67rem;font-weight:700;line-height:1.1;color:var(--hud-text);padding:.1rem .34rem;white-space:nowrap;background:color-mix(in srgb,var(--board-surface) 58%,transparent);z-index:4}.tutorial-overlap-label:before{content:none}.tutorial-wrap-grid{display:grid;grid-template-columns:auto auto;gap:.6rem;align-items:center}.tutorial-wrap-row-viewport{width:calc((var(--tutorial-lane-cell) * 5) + (var(--tutorial-lane-gap) * 4));overflow:hidden}.tutorial-wrap-row-track{display:grid;grid-template-columns:repeat(5,var(--tutorial-lane-cell));gap:var(--tutorial-lane-gap)}.tutorial-wrap-row-track span,.tutorial-wrap-col-track span{display:grid;place-items:center;font-weight:900}.tutorial-wrap-row-track span{width:var(--tutorial-lane-cell);height:var(--tutorial-lane-cell);background:var(--letter-cell-bg);color:var(--letter-text);position:relative;overflow:hidden}.tutorial-wrap-row-track span.is-overlap{background:var(--letter-cell-bg)}.tutorial-wrap-col-viewport{height:calc((var(--tutorial-lane-cell) * 3) + (var(--tutorial-lane-gap) * 2));overflow:hidden}.tutorial-wrap-col-track{display:grid;grid-template-rows:repeat(6,var(--tutorial-lane-cell));gap:var(--tutorial-lane-gap);animation:tutorialWrapCol var(--tutorial-column-cycle-duration) linear infinite}.tutorial-wrap-col-track span{width:var(--tutorial-lane-cell);height:var(--tutorial-lane-cell);background:var(--number-cell-bg);color:var(--number-text)}.tutorial-derive-panel{display:grid;justify-items:center;gap:.4rem;justify-self:center;text-align:center;width:max-content}.tutorial-derive-caption{color:var(--hud-text);font-size:.68rem;font-weight:800;opacity:.88;letter-spacing:.03em;text-transform:uppercase}.tutorial-derive-line{display:flex;align-items:center;gap:.35rem;animation:tutorialDeriveSwap .2s ease-out;white-space:nowrap}.tutorial-derive-chip{min-width:1.9rem;height:1.9rem;display:grid;place-items:center;font-weight:900}.tutorial-derive-base{background:var(--letter-cell-bg);color:var(--letter-text)}.tutorial-derive-number{background:var(--number-cell-bg);color:var(--number-text)}.tutorial-derive-output{background:var(--highlight-correct);color:var(--letter-text);position:relative;overflow:hidden}.tutorial-derive-symbol{color:var(--hud-text);font-weight:900}.tutorial-glyph-stack{position:relative;width:100%;height:100%;display:grid;place-items:center}.tutorial-glyph-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.tutorial-example-controls{grid-template-columns:1fr 1fr;display:grid;gap:1.05rem;min-height:126px;padding:.4rem .72rem .3rem;align-items:center}.tutorial-controls-demo{display:grid;gap:.45rem;justify-items:center}.tutorial-controls-label{color:var(--hud-text);font-size:.76rem;font-weight:700;opacity:.86}.tutorial-controls-lane{position:relative;display:grid;gap:.18rem;overflow:visible;padding:.34rem;border:1px solid color-mix(in srgb,var(--panel-border) 72%,transparent);background:color-mix(in srgb,var(--board-surface) 38%,transparent)}.tutorial-controls-lane-horizontal{grid-template-columns:repeat(5,1.42rem)}.tutorial-controls-lane-vertical{grid-template-rows:repeat(4,1.2rem)}.tutorial-controls-cell{width:1.42rem;height:1.2rem;background:var(--number-cell-bg);opacity:.65}.tutorial-controls-lane-vertical .tutorial-controls-cell{width:1.2rem;height:1.2rem}.tutorial-controls-cell.is-emphasis{background:var(--letter-cell-bg);opacity:1}.tutorial-controls-arrow{position:absolute;width:.56rem;height:.56rem;opacity:.9}.tutorial-controls-row .tutorial-controls-arrow{background:var(--control-button-bg)}.tutorial-controls-col .tutorial-controls-arrow{background:var(--number-cell-bg)}.tutorial-controls-arrow-left{left:-.62rem;top:calc(50% - .28rem);clip-path:polygon(100% 0,0 50%,100% 100%)}.tutorial-controls-arrow-right{right:-.62rem;top:calc(50% - .28rem);clip-path:polygon(0 0,100% 50%,0 100%)}.tutorial-controls-arrow-up{top:-.62rem;left:calc(50% - .28rem);clip-path:polygon(50% 0,100% 100%,0 100%)}.tutorial-controls-arrow-down{bottom:-.62rem;left:calc(50% - .28rem);clip-path:polygon(0 0,100% 0,50% 100%)}.tutorial-controls-swipe-path{position:absolute;background:var(--accent-secondary);opacity:.45}.tutorial-controls-swipe-path-horizontal{width:calc(100% - .8rem);height:.15rem;left:.4rem;top:calc(50% - .075rem)}.tutorial-controls-swipe-path-vertical{width:.15rem;height:calc(100% - .8rem);top:.4rem;left:calc(50% - .075rem)}.tutorial-controls-swipe-dot{position:absolute;width:.45rem;height:.45rem;border-radius:50%;background:var(--accent-secondary);z-index:1}.tutorial-controls-row .tutorial-controls-swipe-dot{top:calc(50% - .225rem);left:.18rem;animation:tutorialSwipeDotX 1.2s ease-in-out infinite alternate}.tutorial-controls-col .tutorial-controls-swipe-dot{left:calc(50% - .225rem);top:.18rem;animation:tutorialSwipeDotY 1.2s ease-in-out infinite alternate}.tutorial-example-eval{min-height:146px;padding:.65rem .7rem .55rem}.tutorial-example-finish{min-height:286px;padding:.75rem .7rem;background:color-mix(in srgb,var(--board-surface) 40%,transparent)}.tutorial-example.tutorial-example-hints{width:100%;min-height:190px;padding:.72rem;background:color-mix(in srgb,var(--board-surface) 40%,transparent);display:grid;gap:1rem;align-content:center;justify-content:stretch;justify-items:stretch;align-items:center;place-items:stretch}.tutorial-hints-settings{color:var(--hud-text);font-size:.86rem;font-weight:700;opacity:.9;display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:center;text-align:center;width:100%;justify-self:center;margin-bottom:.1rem}.tutorial-hints-toggle-chip{border:1px solid color-mix(in srgb,var(--panel-border) 80%,transparent);border-radius:.45rem;padding:.25rem .45rem;background:color-mix(in srgb,var(--number-cell-bg) 24%,transparent);color:var(--hud-text);font-size:.8rem;font-weight:700}.tutorial-hints-grid{display:grid;grid-template-columns:repeat(var(--tutorial-hints-cols),minmax(1.9rem,1fr));gap:0;width:100%;max-width:none;justify-self:stretch;align-self:center;min-width:0;margin-inline:auto}.tutorial-hints-spacer,.tutorial-hints-header-cell,.tutorial-hints-side-cell,.tutorial-hints-result-cell{min-height:2.1rem;display:grid;place-items:center;font-weight:800;border:1px solid color-mix(in srgb,var(--panel-border) 75%,transparent);position:relative}.tutorial-hints-spacer{background:transparent;border:0}.tutorial-hints-header-cell{background:var(--number-cell-bg);color:var(--number-text);font-size:.94rem}.tutorial-hints-side-cell{background:var(--letter-cell-bg);color:var(--letter-text);font-size:1.2rem}.tutorial-hints-result-cell{background:color-mix(in srgb,var(--board-background) 90%,var(--board-surface) 10%);color:var(--number-cell-bg);font-size:1.2rem}.tutorial-hints-side-cell.is-solution:after,.tutorial-hints-result-cell.is-solution:after{content:"";position:absolute;width:1.54rem;aspect-ratio:1 / 1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid currentColor;box-sizing:border-box;pointer-events:none}.tutorial-finish-preview{width:100%;max-width:460px;border:1px solid color-mix(in srgb,var(--panel-border) 68%,transparent);border-radius:.74rem;background:color-mix(in srgb,var(--panel-bg-solid) 86%,transparent);padding:.7rem .7rem .74rem;display:grid;gap:.58rem}.tutorial-finish-hero{padding:.72rem .7rem .62rem}.tutorial-finish-title{font-size:clamp(1.5rem,4.7vw,1.85rem)}.tutorial-finish-summary-grid .win-modal-summary-value{font-size:1.28rem}.tutorial-finish-target-grid .win-modal-target-chip{font-size:clamp(.8rem,2.15vw,.9rem);padding:.5rem .56rem}.tutorial-finish-actions{margin-top:.06rem}.tutorial-finish-preview .hud-button{pointer-events:none;cursor:default}.tutorial-finish-action{padding:.56rem .5rem;text-align:center;font-size:.92rem;font-weight:800}.tutorial-finish-action-icon>svg{width:1rem;height:1rem}.tutorial-eval-diagram{--eval-cell-size: 2.1rem;--eval-cell-gap: .28rem;--eval-row-width: calc((var(--eval-cell-size) * 5) + (var(--eval-cell-gap) * 4));--eval-callout-width: 4.25rem;display:grid;gap:.3rem;justify-items:center;width:100%}.tutorial-eval-row{width:var(--eval-row-width);display:grid;grid-template-columns:repeat(5,var(--eval-cell-size));gap:var(--eval-cell-gap)}.tutorial-eval-callouts{width:var(--eval-row-width);min-height:2.65rem;position:relative}.tutorial-eval-callout{position:absolute;top:.78rem;width:var(--eval-callout-width);left:0;transform:translate(-50%);display:grid;justify-items:center;gap:.14rem;color:var(--hud-text);font-size:.69rem;font-weight:700;line-height:1.2;text-align:center}.tutorial-eval-callout:before{content:"";position:absolute;top:-.8rem;left:50%;transform:translate(-50%);width:.1rem;height:.72rem;background:color-mix(in srgb,var(--hud-text) 78%,transparent)}.tutorial-eval-callout.is-present{left:calc(var(--eval-cell-size) + var(--eval-cell-gap) + (var(--eval-cell-size) / 2))}.tutorial-eval-callout.is-correct{left:calc(((var(--eval-cell-size) + var(--eval-cell-gap)) * 4) + (var(--eval-cell-size) / 2))}.tutorial-eval-badge{min-width:2.8rem;padding:.08rem .38rem;border:1px solid color-mix(in srgb,var(--panel-border) 75%,transparent);font-size:.66rem;letter-spacing:.03em;text-transform:uppercase;font-weight:800;color:var(--letter-text)}.tutorial-eval-badge.is-present{background:var(--highlight-present)}.tutorial-eval-badge.is-correct{background:var(--highlight-correct)}.tutorial-eval-legend-text{max-width:4.7rem;text-wrap:balance}.tutorial-eval-cell{width:var(--eval-cell-size);height:var(--eval-cell-size);display:grid;place-items:center;font-weight:900;color:var(--letter-text)}.tutorial-eval-cell.is-neutral{background:var(--letter-cell-bg)}.tutorial-eval-cell.is-present{background:var(--highlight-present);animation:tutorialCellPop 1s ease-in-out infinite alternate}.tutorial-eval-cell.is-correct{background:var(--highlight-correct);animation:tutorialCellPop 1s ease-in-out infinite alternate}.tutorial-dots{display:flex;gap:.4rem;justify-content:center}.tutorial-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--panel-border)}.tutorial-dot.is-active{background:var(--accent-secondary)}.tutorial-actions{display:flex;justify-content:space-between;gap:.6rem;align-items:center;border-top:1px solid color-mix(in srgb,var(--panel-border) 72%,transparent);padding-top:.62rem;margin-top:.02rem}.tutorial-actions.is-next-only{justify-content:flex-end}.tutorial-actions.is-last-step{align-items:center}.tutorial-last-actions{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}@keyframes tutorialWrapRow{0%{transform:translate(0)}80%{transform:translate(calc(-1 * (var(--tutorial-lane-cell) + var(--tutorial-lane-gap))))}to{transform:translate(calc(-1 * (var(--tutorial-lane-cell) + var(--tutorial-lane-gap))))}}@keyframes tutorialWrapCol{0%{transform:translateY(0)}13%{transform:translateY(calc(-1 * (var(--tutorial-lane-cell) + var(--tutorial-lane-gap))))}to{transform:translateY(calc(-1 * (var(--tutorial-lane-cell) + var(--tutorial-lane-gap))))}}@keyframes tutorialOutputPulse{0%{transform:scale(.94)}to{transform:scale(1)}}@keyframes tutorialOverlapPulse{0%{opacity:.7;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes tutorialDeriveSwap{0%{opacity:.6;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes tutorialPulseX{0%{transform:scaleX(.8);opacity:.5}to{transform:scaleX(1);opacity:1}}@keyframes tutorialPulseY{0%{transform:scaleY(.8);opacity:.5}to{transform:scaleY(1);opacity:1}}@keyframes tutorialSwipeDotX{0%{transform:translate(0)}to{transform:translate(6.92rem)}}@keyframes tutorialSwipeDotY{0%{transform:translateY(0)}to{transform:translateY(4.84rem)}}@keyframes tutorialCellPop{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes tutorialGoalCellPulse{0%{transform:scale(.92);opacity:.75}to{transform:scale(1);opacity:1}}@keyframes tutorialStepSlideLeft{0%{transform:translate(44px) scale(.985);opacity:.22}to{transform:translate(0) scale(1);opacity:1}}@keyframes tutorialStepSlideRight{0%{transform:translate(-44px) scale(.985);opacity:.22}to{transform:translate(0) scale(1);opacity:1}}@media(max-width:768px){.app-shell{padding:.2rem;padding-top:max(.5rem,env(safe-area-inset-top))}.hud-row{gap:.45rem}.hud-panel{padding-inline:.55rem}.hud-actions{gap:.18rem}.hud-help-button{min-width:2.75rem;min-height:2.75rem}.hud-status-strip{width:fit-content;max-width:100%;justify-content:center;gap:.42rem;letter-spacing:.06em;padding-inline:0;margin-inline:auto}.hud-status-difficulty,.hud-status-moves{flex:0 0 auto;min-width:0}.hud-status-stars{padding:.18rem .36rem .22rem}.board-frame{width:min(100%,calc((100dvh - var(--board-fit-reserve)) / var(--board-height-ratio)))}.tutorial-eval-diagram{--eval-cell-size: 1.95rem;--eval-cell-gap: .24rem;--eval-callout-width: 4.05rem}.tutorial-overlap-scene{width:calc((var(--tutorial-lane-cell) * 5) + (var(--tutorial-lane-gap) * 4))}.tutorial-overlap-label{font-size:.62rem;padding-inline:.26rem}.puzzle-select-modal{width:min(100%,560px);max-height:min(84vh,720px)}.puzzle-select-row{grid-template-columns:minmax(6.6rem,1fr) auto;padding:.42rem .45rem}.puzzle-select-row-date{font-size:.86rem}.puzzle-select-row-actions{gap:.26rem}.puzzle-select-button{min-width:4.55rem;min-height:2.45rem;font-size:.8rem;padding:.24rem .3rem}.puzzle-select-button-label,.puzzle-select-button-stars{font-size:.72rem}.tutorial-complete-actions-overlay{top:calc(var(--tutorial-hint-block-height) + .12rem);gap:.35rem}.tutorial-complete-action-button{min-width:6.55rem;padding:.28rem .34rem}.tutorial-mechanics-layout{grid-template-columns:1fr;row-gap:.96rem;justify-items:center;column-gap:0}.tutorial-overlap-panel{row-gap:.5rem;justify-self:center;width:max-content}.tutorial-derive-panel{gap:.5rem;justify-self:center;width:max-content}.tutorial-derive-chip{min-width:1.7rem;height:1.7rem}.tutorial-derive-caption{font-size:.62rem}.tutorial-finish-target-grid{grid-template-columns:1fr}.stats-modal{padding:.78rem;gap:.6rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-current,.stats-achievement-list{grid-template-columns:1fr}.stats-history-row{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:.15rem}.puzzle-info-card{flex:1 1 calc(50% - .2rem);min-width:9rem;max-width:none}.win-modal{width:min(440px,100%)}.win-modal-target-grid{grid-template-columns:1fr}.win-modal-target-grid .win-modal-target-chip:last-child{justify-self:stretch}.win-modal-best-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.tutorial-step-frame.is-slide-left,.tutorial-step-frame.is-slide-right{animation:none}}
