.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:28px 0 18px}.sheet-header h2{font-size:24px;text-align:center;flex:1;margin:0}.sheet-header>span{width:36px}
dialog.settings-sheet,dialog.result-sheet{width:min(600px,100vw);max-width:100vw;height:100svh;max-height:100svh;margin:auto;border:0;border-radius:0;background:var(--paper);color:var(--ink);padding:0 26px 32px;box-sizing:border-box;overflow-y:auto}
.settings-section{margin:12px 0 26px}.settings-section h3{font-size:14px;color:var(--muted);margin:14px 0 8px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border:0;border-bottom:1px solid var(--line);width:100%;background:none;color:var(--ink);text-align:left}.setting-row strong,.theme-setting>strong{font-size:17px;font-weight:500}.setting-row small{display:block;max-width:330px;color:var(--muted);font-size:12px;line-height:1.7;margin-top:6px}.setting-row input{appearance:none;flex-shrink:0;width:48px;height:28px;border:1px solid var(--line);border-radius:20px;background:#c8c6c1;position:relative;cursor:pointer}.setting-row input:before{content:'';display:block;position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}.setting-row input:checked{background:var(--ink)}.setting-row input:checked:before{transform:translateX(20px);background:var(--paper)}.setting-action{cursor:pointer;font-size:17px}.setting-action span{font-size:23px}.theme-setting{padding:22px 0}.segmented{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:10px;margin-top:14px;background:color-mix(in srgb,var(--ink) 6%,var(--paper))}.segmented button{flex:1;background:none;color:var(--ink);border:0;padding:10px 8px;border-radius:7px;font-size:13px;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--paper);box-shadow:0 1px 3px #0002}
.native-journey-card{display:flex;width:90%;margin:0 auto 32px;align-items:center;flex-direction:column;padding:16px 20px;gap:12px;color:var(--ink);cursor:pointer}.native-journey-card>strong{font-size:21px}.native-journey-card>span{font-size:14px}.native-journey-card>div{display:flex;align-items:center;justify-content:center;gap:16px}.native-journey-card img{width:46px;height:46px;object-fit:contain}.native-journey-card b{display:flex;gap:16px;align-items:center;background:var(--ink);color:var(--paper);width:90%;padding:11px;border-radius:10px;justify-content:center}
.native-hint-row{display:flex;justify-content:center;align-items:center;gap:14px}.native-hint{position:relative;width:60px;height:58px;padding:8px 13px 13px}.native-hint small{position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);background:var(--paper);border-radius:10px;padding:1px 8px;border:1px solid var(--line);min-width:24px}.native-tool-square{width:42px;height:48px;border:0;background:none;color:var(--ink);font-size:28px;padding:6px;cursor:pointer}.native-tool-square:disabled{opacity:.25}
.sets-controls{text-align:center;margin:18px auto}.known-sets{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}.known-sets span{border:1px solid var(--line);border-radius:5px;padding:3px 8px;font-size:11px}
.native-board-symbol{position:absolute;inset:25%;background:var(--ink);mask:var(--ui-image) center/contain no-repeat}.native-board-symbol.tango-symbol{inset:27%}.board.queens .cell.marked:after{content:'';position:absolute;inset:42%;background:var(--ink);mask:url('assets/original/symbol-queens_dot-932.png') center/contain no-repeat}.secret-code{display:flex;justify-content:center;gap:12px;padding:10px 0 25px}.secret-code .guess-slot{display:grid;place-items:center;font-size:25px;color:var(--muted);width:42px;height:42px}
.sudoku-area{background:color-mix(in srgb,#a4b7c9 18%,var(--paper))!important}.sudoku-identical{background:color-mix(in srgb,#91aaca 42%,var(--paper))!important;color:var(--ink)!important}.number-used{visibility:hidden}.lits-input{width:190px;margin:20px auto 0}.cell.drag-preview{background:#dce4cc!important}.area-counter{position:absolute;top:-30px;left:50%;transform:translateX(-50%);padding:3px 9px;background:var(--ink);color:var(--paper);border-radius:5px;font-size:13px}.board.shikaku,.board.lits,.board.bridges{touch-action:none}.board.queens .cell.marked:after{content:'•';font-size:23px;color:var(--ink)}
.tactical-sheet{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(600px,100vw);min-height:210px;padding:24px 26px 30px;border-radius:18px 18px 0 0;background:var(--paper);box-shadow:0 -3px 30px #0002;color:var(--ink)}.tactical-sheet h2{text-align:center;font-size:21px;margin:0 30px 20px}.tactical-sheet p{font-size:15px;line-height:1.8;text-align:center;min-height:55px}.tactical-close{position:absolute;right:17px;top:18px;background:none;border:0;color:var(--ink);padding:7px}.tactical-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.tactical-navigation button{border:0;background:var(--ink);color:var(--paper);padding:10px 20px;border-radius:7px;min-width:54px}.tactical-navigation button:disabled{background:var(--line);color:var(--muted)}.tactical-navigation>div,.tutorial-dots{display:flex;align-items:center;justify-content:center;gap:6px}.tactical-navigation i,.tutorial-dots i{width:6px;height:6px;background:var(--line);border-radius:50%}.tactical-navigation i.active,.tutorial-dots i.active{background:var(--ink)}.cell.tactical-dim{opacity:.28}.cell.tactical-lit{z-index:2;outline:2px solid #dca047;outline-offset:-2px}.native-game:has(.tactical-sheet) .native-tools,.native-game:has(.tactical-sheet) #controls{visibility:hidden}.native-game:has(.tactical-sheet) .native-hint-row{pointer-events:none;opacity:.3}
.tutorial-panel{width:100%;margin-top:8px;padding:14px 0;text-align:center}.tutorial-panel>p{font-size:15px;line-height:1.7;max-height:200px;overflow-y:auto;white-space:pre-line}.tutorial-dots{flex-wrap:wrap;margin:20px 0}.tutorial-actions{display:flex;justify-content:space-between;gap:15px;margin:15px 0}.tutorial-actions button{flex:1;min-height:42px}.tutorial-actions button:disabled{opacity:.3}.tutorial-panel small{display:block;color:var(--muted);font-size:11px;line-height:1.8}.native-game:has(.tutorial-panel) .native-tools{display:none}.native-game:has(.tutorial-panel) .native-game-clock{margin-top:10px}.native-game:has(.tutorial-panel) .native-board-area{padding:22px 0 4px;min-height:180px}.native-game:has(.tutorial-panel) .native-board-area>.board-wrap{max-width:min(330px,calc(35svh * var(--board-ratio,1)))}
.game-menu{text-align:center;padding:18px 0}.game-menu h1{font-size:28px}.game-preview{display:block;width:190px;height:190px;object-fit:contain;margin:35px auto 25px}.game-menu>p{line-height:1.8;font-size:15px;margin:0 auto 18px;max-width:340px}.game-menu>button{display:flex;margin:15px auto;gap:8px;align-items:center}.game-menu>button .native-icon{width:22px;height:22px}.game-menu h2{font-size:17px;margin:30px 0 18px}.difficulty-list{display:grid;gap:16px}.difficulty-list button{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;color:var(--ink);cursor:pointer}.difficulty-list button>strong{font-size:19px}.difficulty-list button>span{color:var(--muted);font-size:12px}
.journey-page h1{text-align:center;font-size:28px}.journey-wallet{display:flex;justify-content:center;align-items:center;font-size:16px}.journey-wallet .native-icon{width:23px;height:23px}.journey-map{max-width:370px;margin:35px auto}.journey-map-row{display:flex;align-items:center;gap:25px;position:relative;padding:24px 0}.journey-map-row:before{content:'';position:absolute;top:0;bottom:0;left:29px;border-left:3px dashed var(--line);z-index:-1}.journey-node{width:61px;height:61px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font:24px Plex,monospace;cursor:pointer;flex-shrink:0;box-shadow:0 4px var(--ink)}.journey-node.done{background:#b4cfa5;color:#323331}.journey-node:disabled{border-color:var(--line);box-shadow:0 4px var(--line);color:var(--muted);cursor:default}.journey-current .journey-node{background:#ffd09d}.journey-game-icons{display:flex;gap:12px;margin-top:12px}.journey-game-icons img{width:33px;height:33px;object-fit:contain}.journey-map-row strong{font-size:16px}
.result-content{text-align:center;padding:35px 0 15px}.result-emblem{font-size:70px;color:#719b62}.result-content h1{font-size:28px}.result-stats{display:flex;justify-content:center;gap:55px;margin:30px 0}.result-stats>div{display:grid;gap:8px}.result-stats strong{font:27px Plex,monospace}.result-stats span{font-size:12px;color:var(--muted)}.result-stages{display:flex;gap:18px;justify-content:center;margin:30px 0}.result-stages>span{width:54px;height:54px;position:relative;opacity:.35}.result-stages img{width:100%;height:100%;object-fit:contain}.result-stages .done{opacity:1;color:#64944c}.reward-box{padding:18px;border:1px solid var(--line);border-radius:15px;margin:25px 0}.reward-box h2{font-size:21px;margin:0 0 20px}.reward-box>div{display:flex;justify-content:center;gap:50px}.reward-box span{display:flex;align-items:center;gap:12px;font:25px Plex,monospace}.reward-box .native-icon{width:30px;height:35px}.result-content>.primary,.result-content>.secondary{display:block;width:100%;padding:15px;margin-top:16px;font-size:18px}.native-game.journey-mode .native-tools{display:none}
@media(max-width:420px){.native-hint-row{gap:10px}.tactical-sheet{padding-bottom:max(25px,env(safe-area-inset-bottom))}.tutorial-panel>p{font-size:13px;max-height:155px}}
.native-challenges-entry{display:flex;justify-content:space-between;align-items:center;width:90%;margin:0 auto 30px;padding:17px 24px;color:var(--ink);font-size:19px}.daily-native h1,.challenge-menu>h1{text-align:center;font-size:27px;margin:20px 0}.daily-date{display:block;max-width:220px;margin:20px auto;border:0;background:none;color:var(--ink);font-size:19px;text-align:center}.daily-streak-progress{text-align:center;font-size:12px;color:var(--muted);margin:20px 0}.daily-game-list{display:grid;gap:18px}.daily-game-entry{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px}.daily-game-entry>img{width:38px;height:38px;object-fit:contain;grid-row:span 2}.daily-game-entry>strong{font-size:15px}.daily-game-entry>div{display:flex;gap:12px}.daily-stage{border:1px solid var(--ink);border-radius:5px;background:var(--paper);color:var(--ink);width:38px;height:34px;font:15px Plex,monospace;cursor:pointer}.daily-stage.done{background:#bdd5ad;color:#333}.daily-stage:disabled{opacity:.2;cursor:default}.challenge-card{padding:20px;margin:24px 0;text-align:center}.challenge-card>img{width:55px;height:55px;object-fit:contain}.challenge-card h2{font-size:24px;margin:15px 0}.challenge-card p{font-size:13px;line-height:1.8;color:var(--muted)}.challenge-games{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:25px 0 4px}.challenge-games button{display:flex;flex-direction:column;align-items:center;gap:9px;border:0;background:none;color:var(--ink);padding:5px;font-size:12px;cursor:pointer}.challenge-games img{width:48px;height:48px;object-fit:contain}.saga-rewards h2{font-size:21px}.saga-rewards>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.reward-choice{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px 8px;color:var(--ink);cursor:pointer;min-height:145px}.reward-choice>img{width:45px;height:45px;object-fit:contain}.reward-choice>strong{font-size:13px}.reward-choice>span{font-size:11px}.reward-choice .reward-currency{display:flex;align-items:center;gap:8px;font:17px Plex,monospace}.reward-currency .native-icon{width:23px;height:27px}.result-continue[hidden]{display:none!important}
.daily-stage:disabled{display:none}.daily-game-entry>div:not(:has(button:not(:disabled))):after{content:'暂无关卡';color:var(--muted);font-size:12px}.native-tool-square.active{border-radius:7px;background:var(--line)}
.native-tool-button{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff;color:var(--ink);cursor:pointer;flex-shrink:0}.native-tool-button .native-icon{width:32px;height:32px}.native-tool-button:disabled,.native-hint:disabled{opacity:.3;cursor:default}.theme-dark .native-tool-button{background:#393b36}.mind-actions{display:flex;justify-content:center;gap:24px;margin-top:20px}.native-hint-row{flex-wrap:wrap}
.native-tools{display:none}
.native-tutorial .native-game-clock{margin-top:12px}.native-tutorial .native-board-area{padding:28px 0;min-height:160px}.native-tutorial .tutorial-panel{margin-top:0}.native-tutorial .guide-dim{opacity:.28}.native-tutorial .guide-lit{box-shadow:inset 0 0 0 2px var(--ink)}.tutorial-action-status{min-width:72px;text-align:center;color:#629a67;font-size:27px}.native-bridge-examples{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;text-align:center}.native-bridge-examples svg{display:block;width:100%;max-height:160px}.native-bridge-examples strong{font-size:13px}.native-tutorial .board.tiles{min-height:90px}.native-tutorial .tutorial-mini .cell{font-size:30px}.tutorial-explode .board.tiles{overflow:visible;padding:45px 0}.tutorial-explode .original-tile-pattern:nth-child(1){animation:native-layer-one 3s ease-in-out infinite}.tutorial-explode .original-tile-pattern:nth-child(3){animation:native-layer-three 3s ease-in-out infinite}.tutorial-path-demo polyline{stroke-dasharray:1000;animation:native-tutorial-path 4s ease-in-out infinite}.native-tango-motion{animation:native-tango-flip .4s ease-in-out;pointer-events:none}
@keyframes native-layer-one{0%,100%{transform:translateY(0)}45%,70%{transform:translateY(-42px)}}@keyframes native-layer-three{0%,100%{transform:translateY(0)}45%,70%{transform:translateY(42px)}}@keyframes native-tutorial-path{0%,8%{stroke-dashoffset:1000}65%,95%{stroke-dashoffset:0}100%{stroke-dashoffset:1000}}@keyframes native-tango-flip{0%{transform:scaleX(1)}50%{transform:scaleX(0) scaleY(1.1)}100%{transform:scaleX(1)}}
.tutorial-sudoku-figure .sudoku:nth-child(-n+9){animation:sudoku-row-example 6s infinite}.tutorial-sudoku-figure .sudoku:nth-child(9n+1){animation:sudoku-column-example 6s infinite}.tutorial-sudoku-figure .sudoku:nth-child(n+31):nth-child(-n+33),.tutorial-sudoku-figure .sudoku:nth-child(n+40):nth-child(-n+42),.tutorial-sudoku-figure .sudoku:nth-child(n+49):nth-child(-n+51){animation:sudoku-box-example 6s infinite}@keyframes sudoku-row-example{0%,28%{background:#eba13955}34%,100%{background:var(--paper)}}@keyframes sudoku-column-example{0%,30%,70%,100%{background:var(--paper)}34%,62%{background:#e85a9655}}@keyframes sudoku-box-example{0%,64%{background:var(--paper)}68%,96%{background:#4bc78055}100%{background:var(--paper)}}
@media(prefers-reduced-motion:reduce){.native-tango-motion,.tutorial-path-demo polyline,.tutorial-explode .original-tile-pattern,.tutorial-sudoku-figure .cell{animation:none!important}.tutorial-path-demo polyline{stroke-dasharray:none}}
.native-tutorial .native-game-clock{display:none}.native-tango-motion{pointer-events:auto}
.native-game .board.tango{border:0;gap:5px;background:none}.native-game .board.tango .cell{border:0;background:none;overflow:visible}.tango-tile-back,.tango-tile-frame{position:absolute;inset:0;pointer-events:none;mask:center/100% 100% no-repeat}.tango-tile-back{background:var(--tango-color);mask-image:url('assets/original/symbol-tango_tile-811.png')}.tango-tile-frame{background:var(--ink);mask-image:url('assets/original/symbol-tango_tile_frame-1240.png')}.native-game .tango .tango-symbol{inset:25%;width:50%;height:50%;transform:none;z-index:1}.native-game .tango .cell:empty:after{content:'';position:absolute;inset:0;background:var(--line);opacity:.35;mask:url('assets/original/symbol-tango_tile_frame-1240.png') center/100% 100% no-repeat}.native-game .tango .cell.given .tango-tile-back{filter:brightness(.94)}
