:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--gc-bg:#f7f5f0;--gc-bg-subtle:#efece5;--gc-bg-elevated:#fff;--gc-text:#1c1a16;--gc-text-secondary:#4f4a40;--gc-accent:#1a5fb8;--gc-border:#00000029;--gc-fill-primary:#1a5fb8;--gc-on-primary:#fff;--gc-radius:10px;--gc-font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang SC", "Noto Sans SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=dark]{--gc-bg:#12141a;--gc-bg-subtle:#1a1d26;--gc-bg-elevated:#232733;--gc-text:#f2efe8;--gc-text-secondary:#c6c1b6;--gc-accent:#8ab4ff;--gc-border:#ffffff29;--gc-fill-primary:#3d7ef0;--gc-on-primary:#fff}*{box-sizing:border-box}html,body,#root{max-width:100%;min-height:100%;margin:0}html,body{overscroll-behavior-x:none;overflow-x:clip}body{background:var(--gc-bg);color:var(--gc-text);font-family:var(--gc-font);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);line-height:1.5}button,input,select{font:inherit}a{color:var(--gc-accent)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-nav{z-index:40;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:color-mix(in srgb, var(--gc-bg-elevated) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--gc-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.app-nav-start{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.app-brand,.app-back{color:var(--gc-text);font-weight:650;text-decoration:none}.app-back:hover{color:var(--gc-accent)}.app-current{color:var(--gc-text-secondary);font-size:14px}.app-main{flex:1;padding:16px 16px 40px}.gc-page{width:min(1080px,100%);margin:0 auto}.gc-page-column{width:min(720px,100%)}.gc-page-full{width:100%}.gc-page-title{margin:0 0 8px;font-size:clamp(1.6rem,3vw,2rem);line-height:1.2}.gc-page-summary{color:var(--gc-text-secondary);margin:0 0 20px;font-size:1.02rem}.gc-section{margin:20px 0}.gc-section-heading{margin:0 0 10px;font-size:1.15rem}.gc-section-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.gc-section-caption{color:var(--gc-text-secondary);margin:0 0 8px}.gc-text{margin:0 0 10px}.gc-btn{appearance:none;border:1px solid var(--gc-border);background:var(--gc-bg-elevated);color:var(--gc-text);cursor:pointer;touch-action:manipulation;border-radius:8px;padding:8px 14px}.gc-btn:hover:not(:disabled){filter:brightness(.97)}.gc-btn:disabled{opacity:.5;cursor:default}.gc-btn-primary{background:var(--gc-fill-primary);color:var(--gc-on-primary);border-color:#0000}.gc-btn-primary:hover:not(:disabled){filter:brightness(1.06)}.gc-segmented{border:1px solid var(--gc-border);border-radius:10px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.gc-seg{background:var(--gc-bg-elevated);color:var(--gc-text);cursor:pointer;touch-action:manipulation;border:0;padding:8px 12px}.gc-seg.is-on{background:var(--gc-fill-primary);color:var(--gc-on-primary)}.gc-field{color:var(--gc-text-secondary);flex-direction:column;gap:4px;font-size:13px;display:inline-flex}.gc-select,.gc-input{border:1px solid var(--gc-border);background:var(--gc-bg-elevated);min-height:36px;color:var(--gc-text);border-radius:8px;padding:6px 10px}.gc-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.gc-toggle.is-disabled{opacity:.55;cursor:default}.gc-grid{gap:12px;display:grid}@media (width<=800px){.gc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=520px){.gc-grid{grid-template-columns:1fr!important}.app-main{padding:12px 10px 32px;padding-bottom:max(32px, env(safe-area-inset-bottom) + 16px)}.gc-page-title{font-size:clamp(1.35rem,7vw,1.8rem)}.app-nav{padding-left:12px;padding-right:12px}.gc-btn,.gc-seg{min-height:44px}textarea,input,select,.gc-select,.gc-input{font-size:16px}}@media (width<=380px){.gc-grid{gap:8px}.gc-linkcard{min-height:64px;padding:12px}}.gc-linkcards{gap:8px;min-width:0;display:grid}.gc-linkcard{background:var(--gc-bg-elevated);border:1px solid var(--gc-border);border-radius:var(--gc-radius);color:inherit;touch-action:manipulation;flex-direction:column;gap:4px;min-height:72px;padding:14px;text-decoration:none;display:flex}.gc-linkcard:hover{border-color:var(--gc-accent)}.gc-link-title{font-weight:650}.gc-link-site{color:var(--gc-text-secondary);font-size:13px}.gc-table-wrap{overflow-x:auto}.gc-table{border-collapse:collapse;width:100%}.gc-table th,.gc-table td{text-align:left;border-bottom:1px solid var(--gc-border);vertical-align:top;padding:8px 10px}.gc-table th{color:var(--gc-text-secondary);font-size:13px;font-weight:600}.gc-callout{border:1px solid var(--gc-border);background:var(--gc-bg-subtle);border-radius:10px;margin:10px 0;padding:12px 14px}.gc-callout-lead{margin-bottom:6px;display:block}.gc-steps{flex-direction:column;gap:10px;margin:0;padding-left:1.2rem;display:flex}.gc-step-title{font-weight:650}.gc-step-detail{color:var(--gc-text-secondary)}.gc-diagram{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.gc-diagram.is-v{flex-direction:column}.gc-diagram-wrap{align-items:center;gap:8px;display:flex}.gc-diagram.is-v .gc-diagram-wrap{flex-direction:column}.gc-diagram-node{background:var(--gc-bg-elevated);border:1px solid var(--gc-border);border-radius:10px;min-width:120px;padding:10px 12px}.gc-diagram-node span{color:var(--gc-text-secondary);font-size:13px;display:block}.gc-diagram-arrow{color:var(--gc-text-secondary)}.gc-floating.is-bar{background:var(--gc-bg-elevated);border-top:1px solid var(--gc-border);padding:8px}.gc-divider{border:0;border-top:1px solid var(--gc-border);margin:16px 0}.gc-status{background:var(--gc-bg-subtle);border-radius:999px;align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.game-wrap{width:min(1080px,100%);margin:0 auto}.game-save-note,.game-back-foot{color:var(--gc-text-secondary);font-size:13px}.game-back-foot{margin-top:28px}canvas{max-width:100%;height:auto}button{-webkit-tap-highlight-color:transparent}.landscape-hint{border:1px solid var(--gc-border);background:var(--gc-bg-subtle);color:var(--gc-text-secondary);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:14px;line-height:1.55}.game-wrap{width:min(1080px,100%);min-width:0;max-width:100%;margin:0 auto}.touch-surface{touch-action:none;-webkit-user-select:none;user-select:none}.hold-btn,.dpad .hold-btn{appearance:none;border:1px solid var(--gc-border);background:var(--gc-bg-elevated);min-width:48px;min-height:48px;color:var(--gc-text);font:inherit;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:10px;padding:10px 14px;font-size:18px;font-weight:600}.hold-btn:disabled{opacity:.45;cursor:default}.dpad{touch-action:none;grid-template-rows:repeat(3,52px);grid-template-columns:repeat(3,52px);gap:4px;width:168px;margin:0 auto;display:grid;position:relative}.dpad .hold-btn{border-radius:50%;min-width:52px;min-height:52px;padding:0}.dpad-spacer{min-width:0;min-height:0}.handheld-pad{width:100%;max-width:420px;padding-bottom:max(8px, env(safe-area-inset-bottom));justify-content:space-between;align-items:flex-end;gap:28px;margin:14px auto 0;display:flex}.handheld-pad .dpad{margin:0}.handheld-actions{flex-direction:column;justify-content:center;align-items:center;min-height:168px;padding-bottom:52px;display:flex}.handheld-action{border-radius:50%;width:76px;min-width:76px;height:76px;min-height:76px;padding:0;font-size:30px;font-weight:650}.handheld-pad.is-overlay{z-index:3;max-width:none;padding:0 max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));pointer-events:none;background:0 0;margin:0;position:absolute;bottom:0;left:0;right:0}.handheld-pad.is-overlay .dpad,.handheld-pad.is-overlay .handheld-actions{pointer-events:auto}.handheld-pad.is-overlay .hold-btn{background:color-mix(in srgb, var(--gc-bg-elevated) 42%, transparent);border-color:color-mix(in srgb, var(--gc-text) 28%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-controls{padding-bottom:max(8px, env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;align-items:stretch;gap:8px;margin-top:14px;display:flex}.game-controls .hold-btn{flex:auto}@media (width<=430px){.hold-btn,.dpad .hold-btn{min-height:52px;font-size:20px}}.tetris-page-actions{margin:12px 0 0}.tetris-stage{flex-wrap:wrap;align-items:flex-start;gap:24px;margin-top:20px;display:flex}.tetris-board{border-radius:8px;flex:0 300px;width:100%;line-height:0;position:relative;overflow:hidden}.tetris-overlay{justify-content:center;align-items:center;line-height:1.6;display:flex;position:absolute;inset:0}.tetris-overlay-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tetris-side{flex:170px;min-width:0}.tetris-stats{flex-wrap:wrap;gap:24px;margin-bottom:20px;display:flex}.tetris-preview{border-radius:8px;width:100%;max-width:180px;display:block}.tetris-side-msg{color:var(--gc-text-secondary);margin:16px 0;font-size:14px}.tetris-side-actions{flex-wrap:wrap;gap:8px;display:flex}.tetris-help{color:var(--gc-text-secondary);margin-top:18px;font-size:13px;line-height:1.9}.tetris-hud{display:none}.tetris-pad-move,.tetris-pad-act{display:contents}html.is-immersive-play,html.is-immersive-play body{height:100svh;max-height:100svh;padding:0;overflow:hidden}body.is-immersive-play .app-shell{height:100svh;min-height:100svh;max-height:100svh;overflow:hidden}body.is-immersive-play .app-nav,body.is-immersive-play .gc-page-head,body.is-immersive-play .tetris-intro,body.is-immersive-play .tetris-page-actions,body.is-immersive-play .tetris-help,body.is-immersive-play .tetris-stats,body.is-immersive-play .tetris-side-msg,body.is-immersive-play .tetris-side-actions,body.is-immersive-play .game-save-note,body.is-immersive-play .game-back-foot,body.is-immersive-play .landscape-hint{display:none}body.is-immersive-play .app-main{flex:1;min-height:0;padding:0;display:flex;overflow:hidden}body.is-immersive-play .game-wrap,body.is-immersive-play .gc-page{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;display:flex}body.is-immersive-play .tetris-play{flex:1;min-height:0;padding:0;display:block;position:relative}body.is-immersive-play .tetris-hud{z-index:2;padding:max(4px, env(safe-area-inset-top)) 8px 6px;background:color-mix(in srgb, var(--gc-bg) 45%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex;position:absolute;top:0;left:0;right:0}body.is-immersive-play .tetris-hud-stats{font-variant-numeric:tabular-nums;gap:14px;font-size:16px;font-weight:650;display:flex}body.is-immersive-play .tetris-hud-stats small{color:var(--gc-text-secondary);font-size:11px;font-weight:500;display:block}body.is-immersive-play .tetris-hud-actions{gap:8px;display:flex}body.is-immersive-play .tetris-hud-msg{color:var(--gc-text-secondary);flex:1 0 100%;min-height:1.2em;font-size:12px}body.is-immersive-play .tetris-stage{z-index:0;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;margin:0;position:absolute;inset:0}body.is-immersive-play .tetris-board{background:#101723;flex:0 auto;width:auto;max-width:100%;max-height:100%}body.is-immersive-play .tetris-board canvas{max-width:none;height:auto}body.is-immersive-play .tetris-side{top:max(56px, calc(env(safe-area-inset-top) + 48px));right:max(8px, env(safe-area-inset-right));z-index:2;pointer-events:auto;flex:none;align-self:auto;width:64px;min-width:64px;position:absolute}body.is-immersive-play .tetris-preview{cursor:pointer;background:#101723b3;border-radius:8px;width:64px;max-width:64px;height:auto}@media (width<=430px){body.is-immersive-play .tetris-hud-stats{gap:10px;font-size:15px}}.pad-short,body.is-immersive-play .pad-full{display:none}body.is-immersive-play .pad-short{display:inline}.imm-play:not(.is-on) .imm-stage{flex-wrap:wrap;align-items:flex-start;gap:28px;min-width:0;margin-top:16px;display:flex}.imm-play:not(.is-on) .imm-board{flex:2 300px;min-width:0;max-width:100%}.imm-play:not(.is-on) .imm-side{flex:220px;min-width:0}.imm-play:not(.is-on) .imm-board>canvas,.imm-play:not(.is-on) .imm-board>svg{width:100%;height:auto;display:block}.imm-intro{margin:0}.imm-page-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;display:flex}.imm-hud{display:none}.imm-stage{min-width:0}.imm-board{min-width:0;max-width:100%}.imm-help{margin-top:18px}.imm-footer{width:100%}body.is-immersive-play .imm-intro,body.is-immersive-play .imm-help,body.is-immersive-play .imm-page-actions,body.is-immersive-play .imm-inline-controls,body.is-immersive-play .imm-default-only,body.is-immersive-play .imm-side:not(.is-keep){display:none}body.is-immersive-play .imm-play{flex-direction:column;flex:1;width:100%;min-height:0;padding:0;display:flex;position:relative}body.is-immersive-play .imm-hud{z-index:4;padding:max(4px, env(safe-area-inset-top)) 8px 6px;background:color-mix(in srgb, var(--gc-bg) 45%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px 12px;display:flex;position:relative}body.is-immersive-play .imm-hud-stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:14px;font-size:16px;font-weight:650;display:flex}body.is-immersive-play .imm-hud-stats small{color:var(--gc-text-secondary);font-size:11px;font-weight:500;display:block}body.is-immersive-play .imm-hud-actions{flex-wrap:wrap;gap:8px;display:flex}body.is-immersive-play .imm-hud-msg{color:var(--gc-text-secondary);flex:1 0 100%;min-height:1.2em;font-size:12px}body.is-immersive-play .imm-play.is-overlay .imm-hud{position:absolute;top:0;left:0;right:0}body.is-immersive-play .imm-play.is-overlay .imm-stage{z-index:0;justify-content:center;align-items:center;min-height:0;margin:0;display:flex;position:absolute;inset:0}body.is-immersive-play .imm-play.is-banded .imm-stage{min-height:0;padding:6px max(6px, env(safe-area-inset-right)) 6px max(6px, env(safe-area-inset-left));flex:1;justify-content:center;align-items:center;display:flex;position:relative}body.is-immersive-play .imm-play.is-scroll .imm-stage{-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;overflow:auto}body.is-immersive-play .imm-board{justify-content:center;align-items:center;min-width:0;max-width:100%;min-height:0;max-height:100%;display:flex}body.is-immersive-play .imm-board>canvas,body.is-immersive-play .imm-board>svg,body.is-immersive-play .imm-board .imm-fit{object-fit:contain;max-width:100%;max-height:100%}body.is-immersive-play .imm-side.is-keep{top:max(56px, calc(env(safe-area-inset-top) + 48px));right:max(8px, env(safe-area-inset-right));z-index:2;position:absolute}body.is-immersive-play .imm-footer.is-overlay-foot{z-index:3;width:auto;padding:0 max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));position:absolute;bottom:0;left:0;right:0}body.is-immersive-play .imm-play.is-banded .imm-footer{padding:8px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex:none;position:relative}@media (width<=430px){body.is-immersive-play .imm-hud-stats{gap:10px;font-size:15px}}body.is-immersive-play .imm-board canvas,body.is-immersive-play .imm-board svg{object-fit:contain;width:auto!important;max-width:100%!important;height:auto!important;max-height:100%!important}body.is-immersive-play .imm-play.is-banded .imm-board .gc-section:has(>.gc-section-bar){display:none}body.is-immersive-play .imm-maximize{width:100%;max-width:100%;height:auto;max-height:100%;aspect-ratio:var(--imm-aspect,auto)}
