/* Collection-wide focus, input and optional accessibility improvements. */
button,a,input,select{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c8ec9b!important;outline-offset:3px!important}.wg-reduced *,.wg-reduced *:before,.wg-reduced *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.wg-contrast p,.wg-contrast small,.wg-contrast label,.wg-contrast .eyebrow{color:#e3edf0!important}.wg-contrast button{border-color:#cbd7de80!important}.wg-contrast button:disabled{opacity:.6!important}dialog{overscroll-behavior:contain}input[type=range]{min-height:32px}select{min-height:40px}

.wg-large-controls button:not(.heart){min-height:48px!important}.wg-large-controls input[type=range]{min-height:44px}.wg-large-controls .drift-pad button{min-height:68px!important}.wg-large-controls .compact{font-size:12px!important}.wg-large-controls .row{flex-wrap:wrap}dialog select{max-width:65%;font:inherit;color:inherit;background:#182e3b;border:1px solid #668078;border-radius:10px;padding:8px}
/* 1.0.3 responsive menus and shared progression */
:root{--wg-accent:#b8ef89}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--wg-accent)!important}dialog button{min-height:40px}button:disabled{cursor:default}dialog input[type=search]{font:inherit}.wg-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wg-stage-grid button{display:flex;flex-direction:column;gap:8px;padding:16px 10px;text-align:left;white-space:normal;background:#213743;border:1px solid #81a7aa66;border-radius:13px;color:#edf5ee}.wg-stage-grid small{color:#c4d6dc}.wg-stage-grid span{color:#e7cf87}.wg-stage-grid button:disabled{opacity:.48}.wg-shop-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 0}.wg-shop-tools input[type=search]{min-width:0;flex:1 1 170px;background:#162733;border:1px solid #668285;border-radius:10px;padding:12px;color:#f3f5e9}.wg-shop-tools label{display:flex;gap:6px;align-items:center;font-size:12px}.wg-shop-tools small{width:100%;color:#bbd0d9}.wg-shop-tools [hidden]{display:none!important}.wg-journey{width:min(94vw,760px);padding:24px;color:#f2f5eb;background:#132531;border-color:#78959070}.wg-journey header{display:flex;justify-content:space-between;gap:12px}.wg-journey header small{color:var(--wg-accent);font-size:10px;letter-spacing:1.4px}.wg-journey h2{margin:8px 0 20px}.wg-journey .wg-close{border:0;background:none;font-size:28px;color:#e2eddc}.wg-journey button{font:inherit;color:inherit;background:#263d48;border:1px solid #76928d66;border-radius:10px;padding:10px 14px}.wg-journey button[aria-pressed=true]{background:var(--wg-accent);color:#142b2b}.wg-journey nav{display:flex;gap:8px;flex-wrap:wrap}.wg-wallet{padding:16px;border:1px solid #a1bf9744;border-radius:15px;font-size:22px;color:var(--wg-accent);background:linear-gradient(135deg,#304d46,#172e40);margin-bottom:14px}.wg-wallet small{display:block;font-size:12px;line-height:1.5;color:#c4d6d7;margin-top:7px}.wg-journey-filter{display:flex;align-items:center;justify-content:space-between;gap:10px}.wg-journey-filter select{max-width:80%;min-width:0}.wg-mission-list,.wg-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wg-mission-list article,.wg-theme-grid article{padding:15px;border:1px solid #78989440;background:#1b303c;border-radius:14px;display:flex;flex-direction:column;gap:9px}.wg-mission-list h3,.wg-theme-grid h3{font-size:15px;margin:0}.wg-mission-list p{font-size:12px;margin:0}.wg-mission-list small{font-size:10px;color:#adc8cd}.wg-mission-list progress{width:100%;height:8px;accent-color:var(--wg-accent);margin-top:auto}.wg-mission-list article.done{border-color:#aedb8870}.wg-theme-swatch{min-height:90px;border-radius:10px;padding:15px;color:#102530;display:flex;flex-direction:column;align-items:center;justify-content:center}.wg-theme-swatch span{font-size:10px;letter-spacing:4px}.wg-theme-swatch b{font-size:27px}.wg-theme-grid small{font-size:11px;color:#b6c9cb}.wg-confirm{padding:18px;border:1px solid var(--wg-accent);margin-top:16px;border-radius:14px}.wg-confirm button{margin-right:8px}.wg-journey-status:empty{display:none}.wg-journey button:disabled{opacity:.5}.wg-muted{font-size:12px!important}.wg-reduced dialog::backdrop{backdrop-filter:none}@media(max-width:380px){.wg-journey{padding:16px}.wg-mission-list,.wg-theme-grid{grid-template-columns:1fr}.wg-stage-grid{grid-template-columns:1fr}}

.wg-journey header{position:sticky;top:-24px;z-index:2;background:#132531;padding-top:8px;border-bottom:1px solid #78989440}.wg-journey header h2{margin-bottom:12px}.wg-journey .wg-close{align-self:flex-start;min-width:44px;min-height:44px}@media(max-width:380px){.wg-journey header{top:-16px}}
[data-game=tower] #controls .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}[data-game=tower] #controls .row:first-child{grid-template-columns:repeat(3,minmax(0,1fr))}[data-game=tower] #controls button{min-width:0;white-space:normal;overflow-wrap:break-word}

/* 1.0.4: UI texts must not alter the game layout on every language update. */
.game-header>div{min-width:0;flex:1 1 auto}
#stage,#hud{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35;font-variant-numeric:tabular-nums}
#hint,.game-header strong,#playerbar strong,.wg-wallet,.wg-journey-status{font-variant-numeric:tabular-nums}
#controls button{min-width:0;overflow-wrap:anywhere}
html:lang(ja) body{font-family:system-ui,"Noto Sans CJK JP","Yu Gothic",sans-serif}
html:lang(zh-CN) body{font-family:system-ui,"Noto Sans CJK SC","Microsoft YaHei",sans-serif}


/* 1.0.5: shared accessibility, shop spacing, focus and small-screen resilience. */
dialog {overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8aa8ac66 transparent;max-width:calc(100vw - 24px)}
dialog button,dialog select {min-height:42px}
button:focus-visible,select:focus-visible,input:focus-visible {outline:3px solid var(--wg-accent,#bbe69f);outline-offset:3px}
.wg-shop-tools {position:sticky;top:0;z-index:2;background:#172934f5;border:1px solid #a8c6cd33;border-radius:12px;padding:12px;backdrop-filter:blur(10px)}
.wg-shop-tools input[type=search] {min-width:0;min-height:44px}
.wg-shop-tools small {font-variant-numeric:tabular-nums}
.wg-shop-tools select {max-width:100%;padding:8px;border-radius:8px;color:#e8f0e5;background:#263b46;border:1px solid #a8c6cd33}
.skin.selected,.skin-grid .selected {outline:2px solid var(--wg-accent,#bbe69f);outline-offset:-2px}
@media(max-width:400px){.wg-journey{padding:16px!important}.wg-theme-grid{gap:10px!important}.wg-journey h2{font-size:22px!important}.wg-wallet{font-size:20px!important}.wg-mission-list article{padding:13px!important}}

