.p8b-root,[data-theme=p8b]{--p8b-amber:#d97706;--p8b-amber-deep:#b45309;--background:#e8ecf2;--foreground:#1b2430;--card:#f4f6fa;--card-foreground:#1b2430;--secondary:#e1e6ed;--secondary-foreground:#1b2430;--muted:#edf1f5;--muted-foreground:#5c6b7a;--accent:#d97706;--accent-foreground:#fffaf0;--border:#c5cdd8;--primary:#1b2430;--primary-foreground:#f4f6fa;--ring:#d97706;--rrb-primary:var(--p8b-amber);--rrb-on-primary:#1b2430;--rrb-text:var(--foreground);--rrb-muted:var(--muted-foreground);--rrb-border:var(--border);--rrb-surface:var(--card);font-family:var(--font-dm-sans),"Segoe UI",Helvetica,Arial,sans-serif;background:var(--background);color:var(--foreground);font-size:16px;-webkit-text-size-adjust:100%;min-height:100vh;max-width:100%;overflow-x:clip;box-sizing:border-box}.p8b-root .p8b-mono,[data-theme=p8b] .p8b-mono{font-family:var(--font-dm-mono),ui-monospace,"Cascadia Mono",monospace}.p8b-root *,[data-theme=p8b] *{box-sizing:border-box}.p8b-root a{color:inherit;text-decoration:none}.play-surface{background:radial-gradient(130% 100% at 100% 0,rgba(94,122,155,.08),transparent 50%),linear-gradient(180deg,#ebeef3,#e5e9ef);font-family:Segoe UI,PingFang SC,Microsoft YaHei,Helvetica,Arial,sans-serif;font-weight:600;-webkit-font-smoothing:antialiased}.play-surface h1{font-weight:800!important;letter-spacing:-.5px}.play-surface .score-box{position:relative;overflow:hidden;border:1px solid #e6ddd0;border-radius:10px;background:#fffdf8;box-shadow:0 2px 6px rgba(27,36,48,.06);text-align:center}.play-surface .score-box:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.play-surface .score-box-score:before{background:linear-gradient(90deg,#edc22e,#f0cb45)}.play-surface .score-box-best:before{background:linear-gradient(90deg,#f59563,#f67c5f)}.play-surface .score-box-best,.play-surface .score-box-score{color:#8f7a66}.play-surface #bestScoreDisplay,.play-surface #scoreDisplay,.play-surface .score-value{font-family:inherit!important;font-weight:800!important;font-size:20px!important;line-height:1.15!important;letter-spacing:-.5px}@media (min-width:640px){.play-surface #bestScoreDisplay,.play-surface #scoreDisplay,.play-surface .score-value{font-size:24px!important}}.play-surface .score-box-score #scoreDisplay,.play-surface .score-box-score .score-value{color:#b45309!important}.play-surface .score-box-best #bestScoreDisplay,.play-surface .score-box-best .score-value{color:#e85d3a!important}.play-surface .score-label{font-family:inherit!important;font-weight:800!important;font-size:11px!important;letter-spacing:.08em;opacity:.9;color:inherit}.play-surface #dailyBtn,.play-surface #demoBtn,.play-surface #hintBtn,.play-surface #newGameBtn,.play-surface #undoBtn{font-family:inherit;font-weight:800!important}.play-surface #gameStatus{font-weight:700}.play-surface .side-rail{font-family:inherit}.play-surface .side-rail-title{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:#3a4452}.play-surface .side-card{border:1px solid #d7dde6;border-radius:12px;background:#f7f9fc;padding:14px 16px;box-shadow:0 2px 8px rgba(27,36,48,.04)}.play-surface .side-card-daily{border-color:#e5d5b8;background:#fbf8f2}.play-surface .side-card-heading{font-size:.95rem;font-weight:800;color:#7a5a28}.play-surface .side-card-desc{font-size:.8125rem;line-height:1.45;font-weight:600;color:#6b7280}.play-surface .side-stat{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;font-weight:700}.play-surface .side-stat span{color:#6b7280}.play-surface .side-stat strong{font-weight:800;font-variant-numeric:tabular-nums;color:#1b2430}.play-surface .side-card-daily .side-stat strong{color:#b45309}.play-surface .side-history-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;border:1px solid #d7dde6;border-radius:10px;background:#f7f9fc;padding:9px 12px;font-size:12px;font-weight:700;box-shadow:none}.play-surface .side-history-row .h-score{font-weight:800;color:#1b2430}.play-surface .side-history-row .h-max{font-weight:800;color:#b45309}.play-surface .side-history-row .h-time{font-weight:600;font-variant-numeric:tabular-nums;color:#6b7280}.play-surface .side-clear-btn{margin-top:12px;border:1px solid #d7dde6;border-radius:10px;background:#eef2f6;padding:8px 14px;font-family:inherit;font-size:.8125rem;font-weight:700;color:#4a5564;cursor:pointer;box-shadow:none;transition:background .15s ease,color .15s ease}.play-surface .side-clear-btn:hover{background:#e5ebf1;color:#1b2430}.play-surface .side-clear-btn:active{transform:scale(.98)}.play-surface .side-stat-divider{border-bottom:1px solid #e5e9ef}.play-surface .side-stat-divider-top{border-top:1px solid #ebe4d6}.p8b-board-slot{display:flex;align-items:center;justify-content:center;width:100%;min-height:0;flex:1 1 auto;container-type:size}.p8b-board-fit{width:min(100cqw,calc(100cqh - 10px),560px);max-width:100%}.p8b-root[data-ads=on] .p8b-board-fit{width:min(100cqw,calc(100cqh - 10px),520px)}.mobile-board-scale{width:100%;max-width:min(100%,560px)}@media (min-width:1024px) and (max-height:820px){.desktop-history{display:none}}.canvas-shell{width:100%;filter:drop-shadow(0 10px 16px rgba(68,56,44,.2))}.canvas-wrap{--tray-pad:8px;position:relative;width:100%;aspect-ratio:1/1;margin:0 auto;min-width:0;border-radius:14px;background:#bbada0;overflow:hidden;box-sizing:border-box}@media (min-width:640px){.canvas-wrap{--tray-pad:12px;border-radius:18px}}#gameCanvas{top:var(--tray-pad);left:var(--tray-pad);width:calc(100% - 2 * var(--tray-pad));height:calc(100% - 2 * var(--tray-pad));max-width:none;min-width:0;display:block;touch-action:none;background:#bbada0}#gameCanvas,.game-overlay{position:absolute;border-radius:10px}.game-overlay{inset:var(--tray-pad);background:rgba(232,236,242,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:5;padding:20px 16px;text-align:center}@media (min-width:640px){.game-overlay{gap:14px}}.game-overlay[hidden]{display:none}.overlay-title{font-size:28px;font-weight:800;letter-spacing:-.04em;color:var(--foreground);animation:p8b-overlay-in .32s ease-out both}.overlay-text{font-size:14px;font-weight:600;color:var(--muted-foreground);animation:p8b-overlay-in .32s ease-out 60ms both}.p8b-root .overlay-cta,.play-surface .overlay-cta{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.7rem 1.35rem .7rem 1.25rem;border:none;border-radius:12px;background:linear-gradient(180deg,#f59e0b,#d97706 55%,#b45309);color:#fffaf0;font-family:inherit;font-size:.95rem;font-weight:800;letter-spacing:-.02em;line-height:1;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,250,240,.28),0 8px 18px rgba(180,83,9,.28),0 2px 0 #92400e;transform:translateZ(0);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;animation:p8b-overlay-in .36s ease-out .12s both,p8b-cta-breathe 1.8s ease-in-out .5s infinite}.p8b-root .overlay-cta:after,.play-surface .overlay-cta:after{content:"→";font-weight:700;transition:transform .16s ease}.p8b-root .overlay-cta:hover,.play-surface .overlay-cta:hover{animation-play-state:paused;filter:brightness(1.05);transform:translateY(-2px) scale(1.03);box-shadow:inset 0 1px 0 rgba(255,250,240,.34),0 12px 24px rgba(180,83,9,.34),0 3px 0 #92400e}.p8b-root .overlay-cta:hover:after,.play-surface .overlay-cta:hover:after{transform:translateX(3px)}.p8b-root .overlay-cta:active,.play-surface .overlay-cta:active{transform:translateY(1px) scale(.98);filter:brightness(.98);box-shadow:inset 0 1px 0 rgba(255,250,240,.2),0 4px 10px rgba(180,83,9,.22),0 1px 0 #92400e;animation:none}.p8b-root .overlay-cta.overlay-cta-pop,.play-surface .overlay-cta.overlay-cta-pop{animation:p8b-cta-pop .42s cubic-bezier(.22,1.2,.36,1) both,p8b-cta-breathe 1.8s ease-in-out .48s infinite}@keyframes p8b-overlay-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes p8b-cta-pop{0%{opacity:0;transform:scale(.86)}70%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes p8b-cta-breathe{0%,to{transform:scale(1);box-shadow:inset 0 1px 0 rgba(255,250,240,.28),0 8px 18px rgba(180,83,9,.28),0 2px 0 #92400e}50%{transform:scale(1.045);box-shadow:inset 0 1px 0 rgba(255,250,240,.34),0 14px 28px rgba(180,83,9,.38),0 2px 0 #92400e}}@media (prefers-reduced-motion:reduce){.overlay-text,.overlay-title,.p8b-root .overlay-cta,.p8b-root .overlay-cta.overlay-cta-pop,.play-surface .overlay-cta,.play-surface .overlay-cta.overlay-cta-pop{animation:none}.p8b-root .overlay-cta:hover,.p8b-root .overlay-cta:hover:after,.play-surface .overlay-cta:hover,.play-surface .overlay-cta:hover:after{transform:none}}.p8b-root .sound-toggle{position:relative}.p8b-root .sound-toggle .sound-icon{grid-area:1/1}.p8b-root .sound-toggle[aria-pressed=false] .sound-icon-on,.p8b-root .sound-toggle[aria-pressed=true] .sound-icon-off{display:none!important}.p8b-root .p8b-pwa-install{display:inline-flex;line-height:0}.p8b-root .p8b-pwa-install>span{display:inline-flex}.p8b-root .p8b-pwa-install>span>button{box-sizing:border-box!important;display:inline-grid!important;place-items:center!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;padding:0!important;gap:0!important;border-radius:12px!important;border:1px solid var(--border)!important;background:var(--card)!important;color:var(--muted-foreground)!important;box-shadow:none!important;opacity:1!important}.p8b-root .p8b-pwa-install>span>button:hover{color:var(--foreground)!important}.p8b-root .p8b-pwa-install>span>button>span{display:none!important}.p8b-root .p8b-pwa-install>span>button>svg{width:17px;height:17px}.p8b-root .p8b-action-strip .p8b-pwa-install>span>button{width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;border-radius:8px!important}.p8b-root .p8b-pwa-install [role=dialog]{width:min(19rem,calc(100vw - 2rem))!important;max-width:calc(100vw - 2rem);box-sizing:border-box;border-color:var(--border)!important;background:var(--card)!important;color:var(--foreground)}.ad-label-mobile{display:none}@media (max-width:767px){.ad-label-desktop{display:none}.ad-label-mobile{display:block}}.p8b-root .footer-lang{display:flex;align-items:center;gap:12px}.p8b-root .footer-lang-label{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-foreground)}.p8b-root .footer-lang-picker{position:relative}.p8b-root .footer-lang-static,.p8b-root .footer-lang-trigger{display:inline-flex;align-items:center;height:36px;min-width:132px;border-radius:6px;border:1px solid var(--border);background:var(--background);padding:0 10px;font-size:14px;font-weight:600;color:var(--foreground)}.p8b-root .footer-lang-trigger{gap:8px;font-family:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.p8b-root .footer-lang-trigger.is-open,.p8b-root .footer-lang-trigger:hover{border-color:#a8b4c4;box-shadow:0 1px 3px rgb(27 36 48/8%)}.p8b-root .footer-lang-trigger-text{flex:1;text-align:left}.p8b-root .footer-lang-chevron{width:16px;height:16px;flex-shrink:0;color:var(--muted-foreground);transition:transform .15s ease}.p8b-root .footer-lang-trigger.is-open .footer-lang-chevron{transform:rotate(180deg)}.p8b-root .footer-lang-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:40;width:min(220px,calc(100vw - 40px));max-height:min(320px,52vh);overflow-y:auto;border-radius:8px;border:1px solid var(--border);background:var(--card);padding:6px;box-shadow:0 10px 28px rgb(27 36 48/14%),0 2px 8px rgb(27 36 48/8%);scrollbar-width:thin;scrollbar-color:#9aa8b8 transparent}.p8b-root .footer-lang-menu::-webkit-scrollbar{width:6px}.p8b-root .footer-lang-menu::-webkit-scrollbar-thumb{border-radius:999px;background:#9aa8b8}.p8b-root .footer-lang-option{display:block;width:100%;border:0;border-radius:6px;background:transparent;padding:8px 10px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;color:var(--foreground);text-align:left;cursor:pointer}.p8b-root .footer-lang-option:hover:not(.is-disabled):not(.is-selected){background:var(--muted)}.p8b-root .footer-lang-option.is-selected{background:var(--accent);color:var(--accent-foreground)}@media (min-width:1024px){.p8b-root .article-toc{position:sticky;top:1.25rem;align-self:start;max-height:calc(100dvh - 2.5rem);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#9aa8b8 transparent}.p8b-root .article-toc::-webkit-scrollbar{width:5px}.p8b-root .article-toc::-webkit-scrollbar-thumb{border-radius:999px;background:#9aa8b8}}.p8b-root .article-content .article-section+.article-section{margin-top:2.75rem}.p8b-root .article-content .article-section h2{margin-top:0;margin-bottom:.85rem;font-size:1.35rem;font-weight:700;letter-spacing:-.03em;color:var(--foreground)}@media (min-width:640px){.p8b-root .article-content .article-section h2{font-size:1.5rem;margin-bottom:1.25rem}}.p8b-root .article-content .article-section>h2:first-child{margin-top:0}.p8b-root .article-content .article-section li,.p8b-root .article-content .article-section p{margin-top:.75rem;font-size:1rem;line-height:1.75;color:var(--muted-foreground)}.p8b-root .article-content .article-section h2+div>p:first-child,.p8b-root .article-content .article-section h2+dl,.p8b-root .article-content .article-section h2+ol,.p8b-root .article-content .article-section h2+p,.p8b-root .article-content .article-section h2+ul{margin-top:0}.p8b-root .article-content .article-section ol,.p8b-root .article-content .article-section ul{margin-top:.25rem;padding-left:1.25rem}.p8b-root .faq-list{margin-top:0;padding-top:.35rem;display:grid;gap:.85rem}.p8b-root .faq-item{border:1px solid var(--border);border-radius:12px;background:var(--card);padding:14px 16px}.p8b-root .faq-item dt{font-weight:700;color:var(--foreground)}.p8b-root .faq-item dd{margin:.5rem 0 0;font-size:.875rem;line-height:1.5;color:var(--muted-foreground)}.p8b-root details summary::-webkit-details-marker{display:none}.p8b-root .history-list{list-style:none;margin:0;padding:0}.p8b-root .history-empty[hidden],.p8b-root .history-item[hidden]{display:none!important}.p8b-root #demoBtn.active,.p8b-root #demoBtn[aria-pressed=true]{border-color:rgba(217,119,6,.55);background:#fff8ed;color:var(--p8b-amber-deep)}.p8b-root #dailyBtn.active,.p8b-root #dailyBtn[aria-pressed=true]{border-color:rgba(217,119,6,.65);background:#fff8ed;color:var(--p8b-amber-deep);box-shadow:0 0 0 2px rgba(237,194,46,.35)}.play-surface .daily-difficulty-badge{flex-shrink:0;border-radius:999px;border:1px solid #e8c96a;background:#fff8e8;padding:2px 8px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#b45309}.play-surface .side-card-daily .side-stat strong#dailyTarget{font-size:1.125rem;color:#e85d3a}.play-surface #undoBtn.emphasize-undo{box-shadow:0 0 0 2px rgba(180,83,9,.45);border-color:#d97706}