/* 休闲游戏厅 */
.arcade-panel .ag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.ag-card{display:grid;grid-template-rows:auto 1fr;border:2px solid #27212a;background:#fffef8;box-shadow:3px 3px 0 #d6dfcb}
.ag-thumb{width:100%;height:auto;image-rendering:pixelated;border-bottom:2px solid #27212a;display:block}
.ag-card-body{display:grid;gap:6px;padding:10px 12px;align-content:start}
.ag-card h4{margin:0;font:400 18px var(--pixel,monospace);color:#293c30}
.ag-card p{font-size:12px;line-height:1.7;color:#4f5e48}
.ag-theme{font:11px monospace;letter-spacing:1px;color:#9b742b}
.ag-best span{color:#c9963f;letter-spacing:2px}.ag-best b{color:#a5603a}
.ag-goal,.ag-rank{font-size:11px!important;color:#6f7d62!important}
.ag-card details{font-size:12px}.ag-card summary{cursor:pointer;color:#5a7748}
.ag-play{display:grid;gap:10px}
.ag-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ag-head h4{margin:0;font:400 18px var(--pixel,monospace)}.ag-head .act-button{margin-left:auto}
.ag-stage{position:relative;width:100%;max-width:640px;margin:0 auto}
.ag-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border:2px solid #27212a;background:#1d2238;outline:none}
.ag-canvas:focus-visible{box-shadow:0 0 0 3px #f2cc76}
.ag-start,.ag-result{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:18px;text-align:center;background:#1d2238e6;color:#f6ecd0}
.ag-start p,.ag-result p{max-width:400px;font-size:13px;line-height:1.8;color:#f0e6cc}
.ag-result strong{font:400 34px var(--pixel,monospace);color:#f2cc76}.ag-result>span{font-size:22px;letter-spacing:4px;color:#f2cc76}
.ag-result div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ag-help{font-size:11px;color:#6f7d62;text-align:center}
.ag-start .ag-help{color:#c9d4ff}
.ag-pads{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.ag-pad{min-width:56px;min-height:44px;padding:6px 10px;border:2px solid #27212a;background:#f5ead0;color:#3b2b20;font:400 14px var(--pixel,monospace);cursor:pointer;box-shadow:2px 2px 0 #c9b98f;touch-action:manipulation}
.ag-pad:active{transform:translate(1px,1px);box-shadow:1px 1px 0 #c9b98f}
.ag-pads-extract{display:grid;grid-template-columns:repeat(3,64px);grid-template-areas:". up ." "left down right" "act act act";justify-content:center}
.ag-pads-extract .ag-pad:nth-child(1){grid-area:up}.ag-pads-extract .ag-pad:nth-child(2){grid-area:left}.ag-pads-extract .ag-pad:nth-child(3){grid-area:down}.ag-pads-extract .ag-pad:nth-child(4){grid-area:right}.ag-pads-extract .ag-pad:nth-child(5){grid-area:act}
.ag-pads-climb .ag-pad{min-width:200px;min-height:56px;font-size:18px;background:#f2cc76}
.ag-pads-danmaku .ag-pad{min-width:96px}
@media (pointer:fine){.ag-pads-extract,.ag-pads-danmaku{opacity:.85}}
/* 时光主线 */
.mainline-panel .ml-head{display:grid;gap:6px}.ml-head p{font-size:12px;color:#5a7748}
.ml-bar{height:8px;background:#e1e7d4;border:1px solid #b8cba4}.ml-bar i{display:block;height:100%;background:#c9963f}
.ml-layout{display:grid;grid-template-columns:minmax(150px,200px) 1fr;gap:14px;align-items:start}
.ml-tabs{display:grid;gap:4px}
.ml-tab{display:grid;grid-template-columns:1fr auto;text-align:left;gap:0 6px;padding:7px 10px;border:2px solid #cfd8c1;background:#fffef8;color:#293c30;cursor:pointer;font:inherit}
.ml-tab span{font:11px monospace;color:#8a7a52;grid-column:1}.ml-tab b{font:400 14px var(--pixel,monospace);grid-column:1}.ml-tab i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:#5f9b55}
.ml-tab.is-active{border-color:#27212a;background:#f6ecd0;box-shadow:3px 3px 0 #d6c79f}.ml-tab:disabled{opacity:.5;cursor:not-allowed}
.ml-chapter{display:grid;gap:10px;padding:14px 16px;border:2px solid #27212a;background:#fffef8;color:#293c30}
.ml-chapter h3{margin:0;font:400 24px var(--pixel,monospace)}.ml-chapter h4{margin:6px 0 0;font:400 15px var(--pixel,monospace)}
.ml-date{font:12px monospace!important;color:#9b742b!important;letter-spacing:1px}
.ml-lead{font-size:15px!important;color:#a5603a!important}
.ml-chapter>p{font-size:13px;line-height:1.9;color:#3f4d39}
.ml-sources{font-size:12px}.ml-sources summary{cursor:pointer;color:#5a7748}.ml-sources ul{margin:6px 0 0;padding-left:18px;display:grid;gap:3px}.ml-sources a{color:#3e6f8f}
.ml-objectives{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ml-objectives li{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:6px 8px;background:#f4f6ec;font-size:13px}
.ml-objectives li.is-done{background:#e4eed6;color:#56724a}.ml-check{font-family:monospace;color:#7e9a63}.ml-done{font-size:11px;color:#5f9b55}
.ml-reward{font-size:13px;color:#5f9b55}.ml-reward-pending{font-size:12px;color:#8a7a52}
.today-mainline{display:grid;gap:6px;padding:12px 14px;border:2px solid #27212a;background:#f6ecd0;color:#293c30;box-shadow:3px 3px 0 #d6c79f}
.today-mainline strong{font:400 17px var(--pixel,monospace)}.today-mainline p{margin:0;font-size:13px;color:#5b4a2e}
.today-mainline-actions{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:640px){.ml-layout{grid-template-columns:1fr}.ml-tabs{grid-template-columns:repeat(3,1fr)}.ml-tab b{font-size:12px}}
#content-dialog.wide-play-dialog{width:min(980px,calc(100vw - 32px));max-width:calc(100vw - 24px)}
.arcade-panel .ag-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
.ag-card{grid-template-columns:160px 1fr;grid-template-rows:auto;background:linear-gradient(90deg,#efe6cc 162px,#fffef8 162px)}
.ag-thumb{width:160px;height:90px;align-self:start;border-bottom:2px solid #27212a;border-right:2px solid #27212a}
@media (max-width:560px){.arcade-panel .ag-grid{grid-template-columns:1fr}.ag-card{grid-template-columns:1fr;background:#fffef8}.ag-thumb{width:100%;height:auto;border-right:0}}
