@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{font-family:Outfit,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e7f2ff;background:#050c14;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,.board:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #74d8ff;outline-offset:3px}.app{--bg:#050d17;--panel:#0b1828;--panel-2:#102137;--border:#2a4b72;--text:#e7f2ff;--muted:#9eb8d8;--cyan:#39dcff;--pink:#f943cc;--yellow:#ffd757;--green:#62e6a0;--orange:#ff9868;min-height:100svh;position:relative;overflow:hidden;background:radial-gradient(ellipse 75% 58% at 50% 29%,#0d2033 0%,var(--bg) 72%);color:var(--text)}.app.theme-minimal{--bg:#101822;--panel:#182535;--panel-2:#213148;--border:#56718d;--cyan:#53d3e8;--pink:#ed70c8;--yellow:#f1d772;--green:#80d6a3;--orange:#eeb07d;background:var(--bg)}.app.theme-terminal{--bg:#06120d;--panel:#0a2016;--panel-2:#10301f;--border:#2f7652;--text:#ddffe9;--muted:#93c5a3;--cyan:#6dffb1;--pink:#7ae8a4;--yellow:#d3ff8d;--green:#4ef184;--orange:#b1f994;background:var(--bg)}.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.24}.ambient-one{width:430px;height:430px;background:#0d4671;top:-160px;left:calc(50% - 215px)}.ambient-two{width:390px;height:390px;background:#103359;top:38%;right:-200px;opacity:.13}.game-shell{position:relative;z-index:1;width:min(100%,690px);margin:auto;padding:24px clamp(12px,3.4vw,28px) 30px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center}.topbar{width:100%;height:68px;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:10px;margin-bottom:18px}.icon-button{width:50px;height:50px;border:1px solid #35547b;border-radius:16px;color:#afcfff;background:linear-gradient(145deg,#0c1828,#0b1522);display:grid;place-items:center;box-shadow:inset 0 1px #ffffff12,0 8px 22px #0004;transition:transform .16s,border-color .16s,background .16s}.icon-button:hover{border-color:#6cb4ec;background:#142842;transform:translateY(-1px)}.topbar>.icon-button:last-child{justify-self:end}.top-action svg{width:27px;height:27px}.brand{justify-self:center;font-size:clamp(34px,7vw,57px);font-weight:600;letter-spacing:-.075em;line-height:1;white-space:nowrap;text-shadow:0 0 20px #c2dcff45}.brand strong{font-weight:600;color:var(--cyan);text-shadow:0 0 20px #00ceff8a}.brand span{color:#f4f8ff}.status-row{width:100%;display:grid;grid-template-columns:1.08fr 1fr 1.08fr;gap:10px;margin-bottom:24px}.status-card{height:82px;border:1px solid #2b5079;background:linear-gradient(145deg,#0b1728cf,#0a1422bb);border-radius:16px;box-shadow:inset 0 1px #d4ebff0a,0 10px 25px #0002;display:flex;align-items:center;justify-content:center;gap:10px}.status-card>div{min-width:0}.status-label{display:block;color:#b6cbed;font-size:clamp(11px,2.5vw,15px);line-height:1.15;white-space:nowrap}.status-value{display:block;font-size:clamp(16px,4.1vw,25px);font-weight:500;line-height:1.15;margin-top:3px;white-space:nowrap}.status-icon{color:#a8c9ff;display:grid;place-items:center;flex:none}.status-icon svg{width:27px;height:27px}.status-icon.flame{color:#ff795b;filter:drop-shadow(0 0 8px #ff66388b)}.moves-card{flex-direction:column;gap:0;border-color:#275d83;background:linear-gradient(150deg,#0a1a2a,#0c2432);box-shadow:inset 0 1px #79d9ff12,0 0 25px #05c8fa0a}.moves-value{font-size:clamp(34px,8vw,51px);font-weight:600;line-height:1;color:#6ce8ff;text-shadow:0 0 8px #2cd5ffb2,0 0 25px #18cfff69}.crown{color:#ffda62;font-size:.78em;text-shadow:0 0 10px #ffc74a88}.play-area{width:100%;padding:0;--rail:clamp(21px,5.2vw,35px)}.column-controls{height:34px;margin-left:var(--rail);margin-right:var(--rail);display:grid;grid-template-columns:repeat(var(--side),1fr);align-items:center}.column-controls:last-child{margin-top:2px}.board-row{display:grid;grid-template-columns:var(--rail) minmax(0,1fr) var(--rail);align-items:stretch}.row-controls{display:grid;grid-template-rows:repeat(var(--side),1fr);align-items:center}.edge-button{padding:0;border:0;background:transparent;display:grid;place-items:center;min-width:0;min-height:0;color:#83c8ff}.edge-button span{width:0;height:0;display:block;border-style:solid;filter:drop-shadow(0 0 6px #2aa9ff) drop-shadow(0 0 10px #0872f4);transition:transform .15s,filter .15s}.edge-button:hover:not(:disabled) span{transform:scale(1.22);filter:drop-shadow(0 0 8px #8ddcff) drop-shadow(0 0 15px #31b1ff)}.edge-button:active:not(:disabled) span{transform:scale(.84)}.edge-button:disabled{opacity:.45}.edge-button.up span{border-width:0 9px 12px 9px;border-color:transparent transparent #91caff transparent}.edge-button.down span{border-width:12px 9px 0 9px;border-color:#91caff transparent transparent transparent}.edge-button.left span{border-width:9px 12px 9px 0;border-color:transparent #91caff transparent transparent}.edge-button.right span{border-width:9px 0 9px 12px;border-color:transparent transparent transparent #91caff}.board{width:100%;aspect-ratio:1;position:relative;outline:none;border:1px solid #396896;border-radius:13px;background:#07121e;padding:5px;box-shadow:0 0 0 1px #071c2e,0 0 32px #006bb81d,inset 0 0 24px #00111c;touch-action:none;overflow:hidden}.board:focus-visible{outline:2px solid #78dbff;outline-offset:3px}.cells{width:100%;height:100%;display:grid;grid-template-columns:repeat(var(--side),1fr);grid-template-rows:repeat(var(--side),1fr);gap:clamp(3px,.85vw,6px)}.cell{position:relative;min-width:0;min-height:0;border:1px solid #385779;border-radius:clamp(6px,1.6vw,11px);background:linear-gradient(135deg,#14263a,#0e1d2e 63%,#102136);box-shadow:inset 0 1px 3px #d9ecff15,inset 0 -3px 9px #0004,0 0 0 1px #071321;display:grid;place-items:center}.cell.selected-cell{border-color:#537ca7}.board:focus-visible .selected-cell{box-shadow:0 0 0 2px #67cfff,inset 0 1px 3px #d9ecff15}.target-cell.color-cyan{background:radial-gradient(circle at center,#0a2736,#092031 68%,#0b1b2c);border-color:#27718b}.target-cell.color-magenta{background:radial-gradient(circle at center,#2f102e,#241026 68%,#1a1427);border-color:#7b2a70}.target-cell.color-yellow{background:radial-gradient(circle at center,#322c15,#211f16 68%,#1a1c1d);border-color:#766333}.target-cell.color-green{background:radial-gradient(circle at center,#123326,#11281f 68%,#10231e);border-color:#31775a}.target-cell.color-orange{background:radial-gradient(circle at center,#342218,#291e1a 68%,#1d1b1e);border-color:#855436}.modifier-cell{background:#1b2034;border-color:#555486}.modifier-symbol{font-size:clamp(21px,6vw,46px);line-height:1;font-weight:800;color:#a474ff;text-shadow:0 0 10px #9958ff92}.modifier-double{background:radial-gradient(circle,#352d14,#1c211e);border-color:#8b7642}.modifier-double .modifier-symbol{color:#ffdc65;text-shadow:0 0 10px #ffc8458b}.modifier-lock{background:#222832;border-color:#647080}.modifier-lock .modifier-symbol{color:#c4cbd3;text-shadow:none}.token{width:64%;height:64%;display:grid;place-items:center;border-radius:50%;position:absolute;z-index:2;color:var(--token-color)}.token>span{font-size:clamp(7px,1.7vw,13px);line-height:1;opacity:.48}.token-cyan{--token-color:var(--cyan);--token-core:#61ebff}.token-magenta{--token-color:var(--pink);--token-core:#fa72df}.token-yellow{--token-color:var(--yellow);--token-core:#ffe88d}.token-green{--token-color:var(--green);--token-core:#91ffc7}.token-orange{--token-color:var(--orange);--token-core:#ffbd99}.token-piece{background:radial-gradient(circle at 34% 28%,#ffffffb5 0%,var(--token-core) 20%,var(--token-color) 65%,color-mix(in srgb,var(--token-color),#00111d 18%) 100%);border:2px solid color-mix(in srgb,var(--token-color),white 38%);box-shadow:0 0 7px var(--token-color),0 0 19px color-mix(in srgb,var(--token-color),transparent 25%),inset 0 0 9px #fff8;color:#08202c}.token-target{background:transparent;border:clamp(3px,.7vw,5px) solid var(--token-color);box-shadow:0 0 9px color-mix(in srgb,var(--token-color),transparent 10%),inset 0 0 10px color-mix(in srgb,var(--token-color),transparent 40%)}.token-target>span{color:var(--token-color);opacity:.25}.token-matched{transform:scale(.72);box-shadow:0 0 10px var(--token-color),0 0 23px var(--token-color),0 0 36px color-mix(in srgb,var(--token-color),transparent 42%)}.animation-layer{position:absolute;inset:5px;overflow:hidden;pointer-events:none}.floating-piece{position:absolute;display:grid;place-items:center;animation:slidePiece .19s ease-in-out forwards}.floating-piece .token{width:62%;height:62%}@keyframes slidePiece{to{transform:translate(var(--move-x),var(--move-y))}}.instruction{width:calc(100% - (2*clamp(3px,1.5vw,10px)));min-height:72px;margin-top:24px;border:1px solid #294d73;background:linear-gradient(130deg,#0b192a,#0a1625);border-radius:18px;display:flex;align-items:center;justify-content:center;gap:20px;padding:13px 18px;color:#aac6ea;font-size:clamp(13px,3.2vw,17px);line-height:1.38;text-align:left}.gesture-icon{display:grid;place-items:center;flex:none;color:#74cfff;font-size:31px;line-height:1;width:45px;height:45px;border:1px solid #2f5e89;border-radius:13px;text-shadow:0 0 10px #41bafa6b}.bottom-actions{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.bottom-actions button{height:68px;border:1px solid #294b70;background:#0a1725ba;color:#bdd3ee;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;transition:border-color .16s,transform .16s,background .16s}.bottom-actions button svg{width:23px;height:23px}.bottom-actions button:hover:not(:disabled){border-color:#58b9ed;background:#102439;transform:translateY(-2px)}.bottom-actions button:disabled{opacity:.4}.footer-note{font-size:10px;letter-spacing:.24em;color:#557391;margin:19px 0 0;text-align:center}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#020811c9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.result-backdrop{z-index:9}.dialog{width:min(100%,460px);max-height:calc(100svh - 36px);overflow-y:auto;padding:26px;border:1px solid #355d85;border-radius:24px;background:linear-gradient(145deg,#11243b,#071523 78%);box-shadow:0 25px 90px #000b,inset 0 1px #ffffff14}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:.22em;color:#6fcbfa;font-weight:700;margin:0 0 5px}.dialog h2{font-size:29px;letter-spacing:-.025em;font-weight:600;margin:0}.close-button{border:1px solid #325779;background:#0b1b2b;color:#b4d5ed;width:35px;height:35px;border-radius:10px;display:grid;place-items:center}.close-button svg{width:19px;height:19px}.menu-options{display:grid;gap:8px}.menu-options>button{width:100%;border:1px solid #244866;border-radius:14px;background:#0c1c2dc9;padding:13px;display:grid;grid-template-columns:41px 1fr 15px;align-items:center;gap:12px;text-align:left;color:#e5f2ff}.menu-options>button:hover{border-color:#50b8e9;background:#112b43}.menu-icon{width:41px;height:41px;border:1px solid #27678b;border-radius:11px;display:grid;place-items:center;color:#67dafa;font-size:28px}.menu-icon svg{width:21px}.menu-options strong{display:block;font-weight:600;font-size:16px}.menu-options small{display:block;color:#91acca;font-size:12px;margin-top:2px}.chevron{font-size:25px;color:#6f9cbf}.menu-divider{height:1px;background:#244762;margin:5px 0}.option-group{color:#a9c4e1;font-size:13px;margin:0 0 20px}.option-group>p{margin:0}.segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px}.segmented button{border:1px solid #2d5371;background:#0a1c2c;color:#b4cbe5;border-radius:10px;padding:10px 2px;font-size:13px}.segmented button.active{background:#0e4a64;border-color:#54cafa;color:#fff;box-shadow:0 0 16px #13c9f930}.panel-note{font-size:12px;line-height:1.45;color:#7f9fbd}.primary-button,.secondary-button{min-height:44px;border-radius:12px;padding:10px 18px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{border:1px solid #65e6fb;background:linear-gradient(135deg,#64e0fa,#20abd5);color:#032036;box-shadow:0 8px 24px #0cb7db28}.primary-button:hover{filter:brightness(1.08)}.primary-button svg{width:19px}.secondary-button{background:#14293d;border:1px solid #345879;color:#c8e2f6}.full-width{width:100%}.text-button{display:block;width:100%;background:none;border:0;color:#7bdcff;margin-top:15px;font-size:13px}.settings-list{display:grid;gap:4px}.toggle-line,.theme-label{min-height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #244058;color:#c5d8ef;font-size:15px}.toggle-line{position:relative;cursor:pointer}.toggle-line input{position:absolute;right:0;opacity:0}.switch{width:42px;height:24px;border-radius:15px;background:#304157;border:1px solid #52708a;position:relative;transition:background .16s}.switch:after{content:"";position:absolute;width:16px;height:16px;background:#b9c9dc;border-radius:50%;top:3px;left:3px;transition:transform .16s}.toggle-line input:checked+.switch{background:#1684a4;border-color:#48c6df}.toggle-line input:checked+.switch:after{transform:translate(18px);background:#e6fbff}.toggle-line input:focus-visible+.switch{outline:2px solid #7ee7ff;outline-offset:3px}.theme-label select{border:1px solid #335d7b;border-radius:8px;padding:7px 8px;background:#10283b;color:#e4f6ff}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-grid>div{min-height:92px;border:1px solid #2a4c69;border-radius:13px;background:#0c1d2c;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stat-grid strong{color:#6ddfff;font-size:29px;line-height:1.1;font-weight:600}.stat-grid span{font-size:11px;color:#9bb8d3;margin-top:6px}.stats-details{margin-top:16px;border-top:1px solid #2b4b65}.stats-details p{display:flex;justify-content:space-between;color:#9cbad5;font-size:13px}.stats-details strong{color:#deefff}.help-panel{text-align:center}.help-example{height:75px;display:flex;align-items:center;justify-content:center;gap:30px}.help-example .token{position:relative;width:47px;height:47px}.help-arrow{font-size:29px;color:#83cbf3}.help-panel h3{font-size:19px;font-weight:600;margin:8px 0}.help-panel>p{font-size:14px;line-height:1.5;color:#a9c4df}.help-steps{text-align:left;margin:20px 0;padding:10px 16px;background:#0a1c2d;border:1px solid #244763;border-radius:14px}.help-steps p{margin:11px 0;color:#b9d1e7;font-size:13px}.help-steps strong{color:#71d6f9;margin-right:10px}.special-rules{display:grid;gap:6px;text-align:left;margin-bottom:20px}.special-rules p{display:flex;align-items:center;gap:9px;margin:0;padding:8px 10px;background:#122337;border:1px solid #264963;border-radius:9px;font-size:12px;color:#afc8df}.special-rules span{width:25px;color:#ba91ff;font-size:19px;text-align:center}.special-rules strong{color:#e8f4ff}.result-dialog{text-align:center;padding:33px 28px}.result-mark{width:70px;height:70px;border-radius:50%;border:2px solid #60e5fa;color:#6eeaff;display:grid;place-items:center;margin:0 auto 16px;font-size:37px;box-shadow:0 0 25px #1bc4e95c,inset 0 0 18px #1fc1e936}.result-mark.failed{color:#ff9c72;border-color:#ff8f69;box-shadow:0 0 25px #fc70465c}.result-dialog h2{margin:5px 0 10px}.result-dialog>p:not(.eyebrow){color:#a7c2dc;line-height:1.45}.result-streak{margin:17px auto;color:#ffd587}.dialog-actions{display:grid;gap:9px;margin-top:24px}.dialog-actions button{width:100%}@media(max-width:440px){.game-shell{padding-left:10px;padding-right:10px}.topbar{height:60px;margin-bottom:13px;grid-template-columns:46px 1fr 46px}.icon-button{width:43px;height:43px;border-radius:13px}.top-action svg{width:24px;height:24px}.status-row{gap:6px;margin-bottom:18px}.status-card{height:70px;border-radius:13px;gap:5px}.status-icon svg{width:20px;height:20px}.status-value{font-size:17px}.status-label{font-size:11px}.moves-value{font-size:38px}.column-controls{height:28px}.edge-button.up span{border-width:0 7px 10px 7px}.edge-button.down span{border-width:10px 7px 0 7px}.edge-button.left span{border-width:7px 10px 7px 0}.edge-button.right span{border-width:7px 0 7px 10px}.board{padding:4px;border-radius:10px}.animation-layer{inset:4px}.instruction{margin-top:18px;min-height:67px;gap:10px;padding:10px 13px;border-radius:14px}.gesture-icon{width:38px;height:38px;font-size:25px}.bottom-actions{gap:6px;margin-top:10px}.bottom-actions button{height:59px;font-size:10px;border-radius:12px}.bottom-actions button svg{width:20px;height:20px}}@media(max-width:355px){.status-card{gap:3px}.status-icon{display:none}.status-label{font-size:10px}.status-value{font-size:15px}.moves-value{font-size:34px}.brand{font-size:33px}.instruction{font-size:12px}}@media(max-height:700px)and (orientation:landscape){.game-shell{width:min(100%,980px);height:100svh;display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:20px;align-items:start}.topbar{grid-column:1;grid-row:1}.status-row{grid-column:1;grid-row:2;grid-template-columns:1fr 1fr;flex-wrap:wrap}.streak-card{display:none}.play-area{grid-column:2;grid-row:1/5;width:min(100%,calc(100svh - 30px));justify-self:center}.instruction{grid-column:1;grid-row:3;align-self:start;margin-top:0}.bottom-actions{grid-column:1;grid-row:4;grid-template-columns:repeat(2,1fr);align-self:end}.footer-note{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.result-dialog{position:relative}.result-close{position:absolute;top:16px;right:16px}.dialog-actions .text-button{min-height:30px;margin-top:0}.bottom-actions.three-actions{grid-template-columns:repeat(3,1fr)}.help-panel h3.help-subtitle{margin:22px 0 7px;text-align:left}.help-panel .help-steps{margin:18px 0}.help-panel .help-steps p{line-height:1.45}.help-panel .help-steps strong{display:inline-block;min-width:43px}.help-panel .special-rules strong{flex:0 0 54px}.help-panel .special-rules p{line-height:1.4}.help-panel .panel-note{text-align:left;margin:12px 0}.result-mark.rating-perfect{color:#ffe282;border-color:#ffda70;box-shadow:0 0 26px #ffd35b76,inset 0 0 18px #ffc83d38}.result-mark.rating-close-call{color:#ffad7f;border-color:#ff9d70;box-shadow:0 0 26px #ff8f625c,inset 0 0 18px #ff864030}.rating-title-perfect{color:#ffe58d}.rating-title-nice{color:#8beafa}.rating-title-close-call{color:#ffb38f}
