:root{--bg:#4a4a4a;--bg-deep:#3c3c3c;--panel-bg:#444;--card-bg:#565656;--card-border:#8a8a8a;--text-light:#f2f0eb;--text-muted:#cfcdc6;--icon-color:#d8d6cf;--icon-active:#fff;--btn-bg:#6e6e6e;--btn-hover:#7c7c7c;--msg:#eaeaea;--success:#7fd99a;--fail:#e2897a;--topbar-h:56px;--sidebar-w:72px;--sidebar-w-open:300px;--panel-w:25vw;--ctrl-h:76px;--stats-h:68px;--badge-h:50px;--gap:10px}*,:before,:after{box-sizing:border-box}html{height:100%}@media (width>=900px){html{font-size:clamp(15px,.8vw + 5px,32px)}}body{background:var(--bg);height:100%;color:var(--text-light);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;padding:0;font-family:Trebuchet MS,Segoe UI,system-ui,-apple-system,sans-serif}button{cursor:pointer;touch-action:manipulation;font-family:inherit}*{scrollbar-width:thin;scrollbar-color:#5e5e5e transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#5e5e5e;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#787878}::-webkit-scrollbar-corner{background:0 0}.scroll-root{scroll-behavior:smooth;height:100%;overflow:hidden auto}.page{flex-direction:column;height:100vh;display:flex;overflow:hidden}.howto-section{background:var(--bg);color:var(--text-light);padding:40px 20px 80px}.howto-inner{max-width:45rem;margin:0 auto}.howto-title{color:var(--icon-active);margin:0 0 8px;font-size:1.6rem;font-weight:800;line-height:1.2}.howto-intro{color:var(--text-muted);margin:0 0 28px;font-size:1rem;line-height:1.6}.howto-steps{flex-direction:column;gap:18px;display:flex}.howto-step{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.howto-step-num{background:var(--success);color:#1f3d2b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.95rem;font-weight:800;display:flex}.howto-step-body h3{color:var(--text-light);margin:2px 0 6px;font-size:1rem;font-weight:700}.howto-step-body p{color:var(--text-muted);margin:0;font-size:.93rem;line-height:1.6}@media (width>=900px){.howto-section{padding:64px 40px 80px}.howto-title{font-size:2rem}.howto-intro{margin-bottom:36px;font-size:1.05rem}.howto-steps{gap:22px}.howto-step{padding:20px 24px}}.tactics-article{background:var(--bg);color:var(--text-light);padding:48px 20px 14px}.tactics-article-inner{max-width:45rem;margin:0 auto}.tactics-article h1{color:var(--icon-active);margin:0 0 12px;font-size:1.6rem;font-weight:800;line-height:1.2}.mobile-holder{flex-direction:row;align-items:center;gap:12px;width:100%;display:flex}#statusMsg1{flex:1}.tactics-intro{color:var(--text-muted);border-left:3px solid var(--card-border);margin:0 0 36px;padding-left:16px;font-size:1rem;line-height:1.65}.tactics-section{margin-bottom:28px}.tactics-section h2{color:var(--success);letter-spacing:.02em;text-transform:uppercase;margin:0 0 6px;font-size:.85rem;font-weight:700}.tactics-section p{color:var(--text-muted);margin:0;font-size:.97rem;line-height:1.7}.tactics-section p em{color:var(--text-light);font-style:normal;font-weight:600}.tactics-cta{color:var(--text-muted);text-align:center;margin-top:36px;font-size:.95rem;font-style:italic;line-height:1.65}@media (width>=900px){.tactics-article{padding:64px 40px 10px}.tactics-article h1{margin-bottom:16px;font-size:2rem}.tactics-intro{margin-bottom:48px;font-size:1.05rem}.tactics-section{margin-bottom:36px}.tactics-section p{font-size:1rem}}.article{background-color:#b0b0b0;width:100%;height:400px}.ad-slot{color:var(--text-muted);letter-spacing:.05em;background:#333;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:flex}.ad-slot-top{width:100%;height:60px}.ad-slot-side{width:160px;height:100%}.ad-label{opacity:.5}.topbar{height:var(--topbar-h);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.topbar-right{align-items:center;gap:6px;display:flex}.menu-toggle,.menu-close{color:var(--icon-color);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;transition:background .15s,color .15s,transform .15s;display:flex}.menu-toggle svg,.menu-close svg{width:26px;height:26px}.menu-toggle:active,.menu-close:active{color:var(--icon-active);background:#ffffff1f;transform:scale(.94)}.mobile-menu-backdrop{opacity:0;visibility:hidden;z-index:190;background:#00000080;transition:opacity .3s,visibility 0s linear .3s;position:fixed;inset:0}.mobile-menu-backdrop.open{opacity:1;visibility:visible;transition-delay:0s}.mobile-menu{height:100dvh;width:min(var(--sidebar-w-open), 82vw);background:var(--bg-deep);padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);visibility:hidden;z-index:200;flex-direction:column;transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s linear .32s;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-6px 0 24px #00000059}.mobile-menu.open{visibility:visible;transition-delay:0s;transform:translate(0)}.mobile-menu-head{height:var(--topbar-h);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px 0 17px;display:flex}.mobile-menu-logo{flex-shrink:0;margin-left:-1px;text-decoration:none}.mobile-menu-list{flex-direction:column;flex:1;gap:10px;min-height:0;padding:20px 17px 24px;display:flex;overflow-y:auto}.mobile-menu-list .side-space-middle{flex:1;min-height:12px}.mobile-menu-list:not(:has(.side-space-middle)) .menu-item:nth-child(2){margin-top:auto}.mobile-menu .menu-item{width:100%;height:auto;min-height:48px;color:var(--icon-color);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:0;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:flex-start;align-items:center;gap:12px;padding:0 8px;font-size:.95rem;font-weight:600;text-decoration:none;transition:opacity .25s,transform .25s,background .15s,color .15s;display:flex;transform:translate(18px)}.mobile-menu .menu-item svg{flex-shrink:0;width:22px;height:22px}.mobile-menu .menu-item img{flex-shrink:0;width:30px;height:30px;margin:0 -4px}.mobile-menu .menu-item img.menu-icon-lg{width:34px;height:34px;margin:0 -6px}.mobile-menu.open .menu-item{opacity:1;transform:translate(0)}.mobile-menu.open .menu-item:first-child{transition-delay:80ms,80ms,0s,0s}.mobile-menu.open .menu-item:nth-child(2){transition-delay:.13s,.13s,0s,0s}.mobile-menu.open .menu-item:nth-child(3){transition-delay:.18s,.18s,0s,0s}.mobile-menu.open .menu-item:nth-child(4){transition-delay:.23s,.23s,0s,0s}.mobile-menu.open .menu-item:nth-child(5){transition-delay:.28s,.28s,0s,0s}.mobile-menu.open .menu-item:nth-child(6){transition-delay:.33s,.33s,0s,0s}@media (hover:hover){.mobile-menu .menu-item:hover{color:var(--icon-active);background:#ffffff29}}.mobile-menu .menu-item:focus-visible{color:var(--icon-active);background:#ffffff29;outline:none}.mobile-menu .menu-item:active,.mobile-menu.open .menu-item:active{color:var(--icon-active);background:#ffffff29;transition-delay:0s;transform:scale(1.04)}.mobile-menu [data-tooltip]:after{display:none}@media (width>=900px){.mobile-menu,.mobile-menu-backdrop{display:none}}@media (prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu-backdrop,.menu-item{transition-duration:.01ms!important;transition-delay:0s!important}}.main-row{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}#puzzleTitle{color:var(--msg)}.logo-icon{color:var(--icon-active);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.logo-icon svg{width:28px;height:28px}:root{--brand-accent:#f5a623}.brand-word{letter-spacing:-.035em;color:var(--icon-active);white-space:nowrap;text-shadow:0 2px #00000047;font-size:1.45rem;font-weight:800;line-height:1}.brand-word .brand-45{color:var(--brand-accent);margin:0 .02em 0 .04em;font-style:italic}.brand-word .brand-com{letter-spacing:0;color:var(--text-muted);font-size:.72em;font-weight:700}.sidebar-brand,.topbar-brand,.menu-brand{flex-shrink:0;align-items:center;min-width:0;display:flex}.topbar-brand .brand-word{margin-left:8px;font-size:1.3rem}.menu-brand .brand-word{margin-left:12px;font-size:1.5rem}.side-nav{flex-direction:column;gap:22px;display:flex}.side-icon{color:var(--icon-color);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:color .15s,background .15s;display:flex;position:relative}.side-icon svg{width:22px;height:22px}.side-icon:hover{color:var(--icon-active);background:#ffffff14}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);white-space:nowrap;color:#fff;opacity:0;pointer-events:none;z-index:100;background:#1a1a1a;border-radius:6px;padding:5px 9px;font-size:.75rem;font-weight:600;transition:opacity .15s,transform .15s;position:absolute}.sidebar [data-tooltip]:after{top:50%;left:calc(100% + 10px);transform:translateY(-50%)translate(-4px)}.sidebar [data-tooltip]:hover:after{opacity:1;transform:translateY(-50%)translate(0)}.ctrl-btn[data-tooltip]:after,.resign-text-btn[data-tooltip]:after{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.ctrl-btn[data-tooltip]:hover:after,.resign-text-btn[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.app{flex-direction:column;flex:1;align-items:center;min-height:0;padding:0 14px;display:flex;overflow:hidden}.mobile-stats{flex-shrink:0;gap:12px;width:100%;padding:4px 0;display:flex}.stat-card{background:var(--card-bg);border-radius:12px;justify-content:space-between;align-items:center;width:30vw;height:40px;padding:5px 8px;display:flex}.stat-card-outline{border:1.5px solid var(--card-border);background:0 0}.stat-label{color:var(--text-muted);font-size:.7rem;font-weight:300}.stat-value{font-size:1.5rem;font-weight:500}.puzzle-badge-mobile{flex:1;align-items:center;margin:0;font-size:.8rem;line-height:1.2;display:flex}.board-column{flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;display:flex}.puzzle-badge{background:var(--card-bg);color:var(--text-light);border-radius:12px;flex-shrink:0;align-self:flex-start;margin:0 0 8px;padding:10px 20px;font-size:1rem;font-weight:800}.puzzle-badge-desktop-container{display:none}.puzzle-badge-desktop{background:var(--card-bg);color:var(--text-light);border-radius:6px;flex-shrink:0;align-self:flex-start;margin:0;padding:5px 10px;font-size:.8rem;font-weight:400}.board-fit{aspect-ratio:1;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:auto;min-height:0;display:flex;position:relative;container-type:size}.board-wrap{width:min(100cqw,100cqh);height:min(100cqw,100cqh);overflow:show;border-radius:4px;position:relative;box-shadow:0 8px 24px #0006}.cg-wrap{inset:0;width:100%!important;height:100%!important;position:absolute!important}.board-wrap,.board-fit,.cg-wrap,cg-board{-webkit-tap-highlight-color:transparent}.controls{flex-shrink:0;justify-content:center;align-items:center;gap:2px;display:flex}.mobile-play-controls{gap:2px}#MobileGameControls.ctrl-visible,#desktopGameControls.ctrl-visible{opacity:1;pointer-events:auto}.engine-btn,.engine-btn-mobile{transition:background .25s,transform .1s,color .25s}.ctrl-btn{background:var(--btn-bg);width:40px;height:40px;color:var(--icon-color);border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,transform .1s,color .15s;display:flex}.combined-mobile-controls{flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:100%;padding:6px 0 4px;display:flex}.combined-mobile-controls .controls{padding:0}.mobile-play-controls{border-radius:12px;gap:2px;padding-bottom:0}.ctrl-btn:hover{background:var(--btn-hover);color:var(--icon-active)}.ctrl-btn:active{transform:scale(.93)}.ctrl-btn svg{width:18px;height:18px}.status-msg{text-align:center;min-height:1.2em;color:var(--msg);flex-shrink:0;padding:4px 0;font-size:.95rem;font-weight:700}.status-msg.success{color:var(--success)}.status-msg.fail{color:var(--fail)}.side-panel{display:none}.resign-text-btn{color:var(--text-muted);background:0 0;border:none;border-radius:8px;align-self:center;padding:6px 10px;font-size:1rem;font-weight:500;transition:color .15s,background .15s}.resign-text-btn:hover{color:var(--text-light);background:#ffffff0f}.free-space{display:none}.spacer{flex:1}.engine-btn{cursor:pointer;color:#5a5a5a;background:#e8e8e8;border:none;border-radius:14px;align-items:center;gap:0;width:100%;height:50px;padding:0;transition:background .15s;display:flex;overflow:hidden}.fire-engine{flex-direction:row;gap:4px;display:flex}.rating-btn{cursor:pointer;color:#5a5a5a;background:#e8e8e8;border:none;border-radius:14px;align-items:center;gap:0;width:100%;height:50px;padding:0;transition:background .15s;display:flex;overflow:hidden}#analyze.active,#analyzeMobile.active{background:#e2c1ba}.engine-btn-mobile{width:50px;height:40px;color:var(--bg);background:#e8e8e8;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,transform .1s,color .15s;display:flex}.rating-btn-mobile{width:45px;height:40px;color:var(--bg);background:#e8e8e8;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,transform .1s,color .15s;display:flex}.mobile-ctrl-divider{width:10%}.mobile-ctrl-separator{width:5vw}.engine-btn:hover{background:#dcdcdc}.engine-btn-icon{justify-content:center;align-items:center;width:60px;display:flex}.engine-btn-divider{background:#b0b0b0;flex-shrink:0;align-self:stretch;width:2px}.engine-btn-label{text-align:center;letter-spacing:.01em;white-space:nowrap;flex:1;padding:0 16px;font-size:1rem;font-weight:700}.rating-btn-icon{flex-shrink:0;justify-content:center;align-items:center;padding:10px 14px;display:flex}.rating-btn-divider{background:#b0b0b0;flex-shrink:0;align-self:stretch;width:2px}.rating-btn-label{text-align:center;letter-spacing:.01em;white-space:nowrap;flex:1;padding:0 16px;font-size:1rem;font-weight:700}.sidebar{display:none}@media (width>=900px){.topbar,.mobile-stats,.mobile-controls,.combined-mobile-controls{display:none}.page{flex-direction:column}.sidebar{width:var(--sidebar-w);height:100vh;padding:20px 17px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 60px);box-sizing:border-box;background:var(--bg-deep);z-index:50;flex-direction:column;flex-shrink:0;align-items:stretch;gap:36px;transition:width .3s cubic-bezier(.4,0,.2,1),box-shadow .3s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar:hover,.sidebar:focus-within{width:var(--sidebar-w-open);box-shadow:6px 0 24px #00000059}.sidebar .logo-icon{flex-shrink:0;margin-left:-1px}.sidebar .brand-word{opacity:0;pointer-events:none;margin-left:12px;font-size:1.6rem;transition:opacity .15s,transform .2s;transform:translate(-8px)}.sidebar:hover .brand-word,.sidebar:focus-within .brand-word{opacity:1;transition-delay:80ms;transform:translate(0)}.sidebar .side-icon{white-space:nowrap;transform-origin:50%;justify-content:flex-start;width:100%;transition:color .15s,background .15s,transform .2s cubic-bezier(.34,1.56,.64,1)}.sidebar .side-icon>svg{flex-shrink:0;margin-left:8px}.sidebar .side-icon>img{flex-shrink:0;margin-left:4px}.side-label{opacity:0;pointer-events:none;margin-left:12px;font-size:.9rem;font-weight:600;transition:opacity .15s,transform .2s;transform:translate(-8px)}.sidebar:hover .side-label,.sidebar:focus-within .side-label{opacity:1;transition-delay:80ms;transform:translate(0)}.sidebar .side-icon:hover,.sidebar .side-icon:focus-visible{color:var(--icon-active);background:#ffffff29;outline:none;transform:scale(1.07)}.sidebar [data-tooltip]:after,.topbar,.settings-mobile{display:none}.scroll-root{padding-left:var(--sidebar-w)}.puzzle-badge-desktop-container{width:100%;margin:0;padding:0;display:flex}.puzzle-badge-desktop{border-radius:12px;padding:10px 20px;font-size:1rem;font-weight:800}.board-column{flex-direction:row;flex:1;align-items:center;gap:10px;width:100%;min-height:0;padding-left:12px;display:flex}.board-fit{aspect-ratio:1;flex:none;width:auto;height:100%}.main-row{flex-direction:row;align-items:stretch}.app{flex-direction:column;flex:1;align-items:stretch;gap:0;width:100%;padding:24px 32px}.board-column{flex:1;width:auto;min-width:0}.puzzle-badge{display:none}.side-panel{width:var(--panel-w);background:var(--panel-bg);border-radius:14px;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:14px;height:100%;padding:24px;display:flex}.mobile-holder{display:none}.stat-card{flex:initial;width:100%;height:auto}.panel-stat{background:var(--card-bg);border-radius:12px;padding:16px 20px}.panel-stat .stat-value{font-size:1.7rem}.panel-stat .stat-label{font-size:1.05rem}.panel-spacer{flex:1;min-height:20px}.combined-desktop-controls{flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.combined-desktop-controls .controls{padding:0}.desktop-controls{gap:2px;padding-bottom:0}.desktop-play-controls{border-radius:12px;gap:2px;padding-bottom:0}.ctrl-btn{border-radius:10px;width:40px;height:40px}.ctrl-btn svg{width:18px;height:18px}.mobile-play-controls{display:none}.free-space{background-color:#d97f7f;display:flex}.status-msg{text-align:center;padding:8px 0 0}#statusMsg1,.mobile-status,.mobile-status{display:none}}@media (hover:none){[data-tooltip]:after{display:none}button,[data-tooltip],.ctrl-btn,.side-icon,.engine-btn,.rating-btn,.resign-text-btn{-webkit-tap-highlight-color:transparent}}@media (width<=380px){:root{--topbar-h:48px}.stat-value{font-size:1.3rem}.ctrl-btn{width:34px;height:34px}.puzzle-badge{padding:8px 16px;font-size:.9rem}}.side-space-middle{flex:1}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar .side-icon,.side-label{transition-duration:.01ms!important;transition-delay:0s!important}}.no-underline{text-decoration:none}.side-icon svg.brilliant-icon{width:34px;height:34px}.side-icon-mobile svg.brilliant-icon{width:32px;height:32px;margin:0 -5px}.sidebar .side-icon>svg.brilliant-icon{margin-left:4px}#leaderboard{margin-top:100px}
