*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-content{display:flex;flex:1 0 auto;height:100%}uni-main{flex:1;width:100%}uni-top-window+uni-content{height:calc(100vh - var(--top-window-height))}uni-left-window{position:relative;width:var(--window-left);order:-1;overflow-x:hidden}uni-right-window{position:relative;width:var(--window-right);overflow-x:hidden}uni-left-window[data-show],uni-right-window[data-show]{position:absolute}uni-right-window[data-show]{right:0}uni-content .uni-mask,.uni-left-window,.uni-right-window{z-index:997}.uni-mask+.uni-left-window,.uni-mask+.uni-right-window{position:fixed}.uni-top-window{position:fixed;left:var(--window-margin);right:var(--window-margin);top:0;z-index:998;overflow:hidden}uni-tabbar{display:block;box-sizing:border-box;width:100%;z-index:998}.uni-tabbar{display:flex;z-index:998;box-sizing:border-box}.uni-tabbar-top,.uni-tabbar-bottom,.uni-tabbar-top .uni-tabbar,.uni-tabbar-bottom .uni-tabbar{position:fixed;left:var(--window-left);right:var(--window-right)}.uni-app--showlayout+.uni-tabbar-top,.uni-app--showlayout+.uni-tabbar-bottom,.uni-app--showlayout+.uni-tabbar-top .uni-tabbar,.uni-app--showlayout+.uni-tabbar-bottom .uni-tabbar{left:var(--window-margin);right:var(--window-margin)}.uni-tabbar-bottom .uni-tabbar{bottom:0;padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.uni-tabbar~.uni-placeholder{width:100%;margin-bottom:0;margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom)}.uni-tabbar *{box-sizing:border-box}.uni-tabbar__item{display:flex;justify-content:center;align-items:center;flex-direction:column;flex:1;font-size:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.uni-tabbar__bd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.uni-tabbar__icon{position:relative;display:inline-block;margin-top:5px}.uni-tabbar__icon.uni-tabbar__icon__diff{margin-top:0;width:34px;height:34px}.uni-tabbar__icon img{width:100%;height:100%}.uni-tabbar__iconfont{font-family:UniTabbarIconFont}.uni-tabbar__label{position:relative;text-align:center;font-size:10px}.uni-tabbar-border{position:absolute;left:0;top:0;width:100%;height:1px;transform:scaleY(.5)}.uni-tabbar__reddot{position:absolute;top:2px;right:0;width:12px;height:12px;border-radius:50%;background-color:#f43530;color:#fff;transform:translate(40%)}.uni-tabbar__badge{width:auto;height:16px;line-height:16px;border-radius:16px;min-width:16px;padding:0 2px;font-size:12px;text-align:center;white-space:nowrap}.uni-tabbar__mid{display:flex;justify-content:center;position:absolute;bottom:0;background-size:100% 100%}.uni-app--showtabbar uni-page-wrapper{display:block;height:calc(100% - var(--tab-bar-height));height:calc(100% - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page[data-type] uni-page-wrapper{height:100%}.uni-app--showtabbar uni-page-wrapper:after{content:"";display:block;width:100%;height:var(--tab-bar-height);height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}.uni-app--showtabbar uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px - var(--tab-bar-height));height:calc(100% - 44px - constant(safe-area-inset-top) - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - 44px - env(safe-area-inset-top) - var(--tab-bar-height) - env(safe-area-inset-bottom))}:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-board: #ffffff;--bg-glass: rgba(255, 255, 255, .72);--text-primary: #0f172a;--text-secondary: #475569;--text-hint: #94a3b8;--border-color: #e2e8f0;--border-bold: #1e293b;--cell-selected: rgba(99, 102, 241, .15);--cell-highlight: rgba(99, 102, 241, .06);--cell-same-number: rgba(16, 185, 129, .12);--cell-error: rgba(239, 68, 68, .12);--cell-given: #0f172a;--cell-user: #4f46e5;--cell-note: #64748b;--accent-primary: #4f46e5;--accent-secondary: #10b981;--accent-danger: #ef4444;--accent-warning: #f59e0b;--gradient-primary: linear-gradient(135deg, #6366f1, #4f46e5);--gradient-warm: linear-gradient(135deg, #f59e0b, #ef4444);--gradient-cool: linear-gradient(135deg, #06b6d4, #6366f1);--gradient-success: linear-gradient(135deg, #10b981, #059669);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .12), 0 4px 12px rgba(15, 23, 42, .06);--shadow-glow: 0 0 20px rgba(99, 102, 241, .2);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 28px}.uni-app--showleftwindow+.uni-tabbar-bottom{display:none}@media (min-width: 768px){.game-page,.daily-page,.purchase-page{padding-top:12px!important}.page-header{padding-top:16px!important}.home-page{padding-bottom:24px!important}.home-page .home-layout{max-width:1100px;margin:0 auto;padding:20px 24px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start}.home-page .hero{padding:32px 24px 28px;border-radius:var(--radius-lg);margin-bottom:0}.home-page .stats-ring{margin:16px 0 0}.home-page .actions-section{padding:0;margin-bottom:0}.home-page .action-grid{grid-template-columns:repeat(2,1fr);gap:10px}.home-page .difficulty-section{padding:0}.home-page .diff-cards{display:flex;flex-direction:column;gap:10px}.game-page .game-body{display:flex;align-items:flex-start;justify-content:center;gap:36px;max-width:880px;margin:0 auto;padding:8px 24px 20px}.game-page .game-board-col{flex:0 0 auto}.game-page .game-controls-col,.daily-page .game-section .game-controls-col,.battle-page .battle-game .game-controls-col{flex:0 0 220px;display:flex;flex-direction:column;gap:12px;padding-top:8px;min-width:0}.game-page .game-info-bar{max-width:880px;margin:0 auto;padding:4px 24px 8px;justify-content:flex-start;gap:32px}.game-page .game-header{max-width:880px;margin:0 auto;padding-left:24px;padding-right:24px}.game-page .pause-overlay{max-width:480px;margin:12px auto}.daily-page .game-section{display:flex;align-items:flex-start;justify-content:center;gap:36px;max-width:880px;margin:0 auto;padding:8px 24px 20px}.daily-page .game-section .game-board-col{flex:0 0 auto}.battle-page .battle-game .game-body{display:flex;align-items:flex-start;justify-content:center;gap:36px;max-width:880px;margin:0 auto;padding:0 24px 20px}.battle-page .battle-game .game-board-col{flex:0 0 auto}.battle-page .battle-lobby,.battle-page .matching-section{max-width:560px;margin:0 auto}.battle-page{padding-top:12px!important}.uni-app--showleftwindow .nav-back{display:none}.daily-page .start-section,.daily-page .completed-section{max-width:480px;margin:0 auto}.game-controls-col .toolbar{flex-direction:column;align-items:stretch;gap:6px;padding:0}.game-controls-col .tool-btn{flex-direction:row;align-items:center;gap:10px;padding:4px 0}.game-controls-col .tool-icon-wrap{width:38px;height:38px;flex-shrink:0}.game-controls-col .tool-label{font-size:13px;color:var(--text-secondary)}.game-controls-col .number-pad{padding:0}.game-controls-col .pad-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:200px}.game-controls-col .ring-wrap{width:52px;height:52px}.game-controls-col .pad-number{font-size:20px}.game-controls-col .keyboard-hints{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.game-controls-col .hints-title{font-size:11px;font-weight:700;color:var(--text-hint);letter-spacing:.4px;margin-bottom:4px}.game-controls-col .hint-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.game-controls-col .hint-key{font-size:11px;font-weight:600;font-family:monospace;color:var(--text-primary);background:var(--bg-primary);padding:2px 6px;border-radius:4px;min-width:52px;text-align:center}.game-controls-col .hint-desc{font-size:11px;color:var(--text-hint);flex:1;text-align:right}.leaderboard-page,.profile-page,.settings-page,.achievements-page,.tutorial-page,.battle-page,.purchase-page,.daily-page{max-width:960px;margin:0 auto}.leaderboard-page .rank-list{max-width:720px;margin:0 auto}.settings-page .settings-body,.profile-page .profile-body{max-width:640px;margin:0 auto}.game-page .banner-ad-wrap,.home-page .banner-ad-wrap{display:none}.tool-btn:hover:not(.disabled) .tool-icon-wrap{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.pad-btn:hover:not(.pad-btn-disabled){transform:scale(1.04)}.action-tile:hover,.diff-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.nav-item:hover,.back-btn:hover,.help-btn:hover{opacity:.92}.modal-content{max-width:400px}.help-panel{max-width:420px}}@media (min-width: 1024px){.game-page .game-body,.daily-page .game-section,.battle-page .battle-game .game-body{max-width:960px;gap:48px}.game-controls-col{flex-basis:240px!important}.home-page .home-layout{max-width:1200px;gap:36px}}@media (min-width: 768px){.uni-app--showleftwindow .home-page{padding-bottom:24px}}uni-page-body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;background-color:var(--bg-primary);color:var(--text-primary);height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary)}uni-view{box-sizing:border-box}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}
