/* 城市绿洲（HALL04）：市政厅栏目、首页卡片、勋章附加条件 */
.oasis-hero{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:var(--pw-space-3);align-items:center;padding:var(--pw-space-5);border-radius:var(--pw-radius-lg);background:linear-gradient(120deg,var(--pw-color-canvas-edge),var(--pw-color-canvas));border:1px solid var(--pw-color-line);color:var(--pw-color-ink)}
.oasis-hero-copy small{display:block;font-size:var(--pw-text-xs);letter-spacing:.1em;color:var(--pw-color-success)}
.oasis-hero-copy h2{margin:var(--pw-space-2) 0 var(--pw-space-2)!important;font-size:var(--pw-text-xl)}
.oasis-hero-copy p{margin:0!important;font-size:var(--pw-text-sm)!important;line-height:1.7!important;color:var(--pw-color-ink-muted)!important}
.oasis-tree{width:120px;height:100px;display:block}
.oasis-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pw-space-2);margin:var(--pw-space-3) 0}
.oasis-stats div{padding:var(--pw-space-3);border-radius:var(--pw-radius-md);background:var(--pw-color-surface);border:1px solid var(--pw-color-line);min-width:0}
.oasis-stats span,.oasis-stats small{display:block;font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted)}.oasis-stats small{margin-top:var(--pw-space-1)}
.oasis-stats b{display:block;font-size:var(--pw-text-lg);margin-top:var(--pw-space-1);color:var(--pw-color-ink);font-variant-numeric:tabular-nums}
.oasis-water{display:grid;gap:var(--pw-space-2);margin:var(--pw-space-2) 0 var(--pw-space-4)}
.oasis-water .primary{width:100%;min-height:48px;background:var(--pw-color-success)!important;border-color:var(--pw-color-success)!important;color:var(--pw-brand-on-navy)!important;border-radius:var(--pw-radius-md)}
.oasis-water .primary:disabled{opacity:.55}
.oasis-progress{height:8px;border-radius:var(--pw-radius-sm);background:var(--pw-color-canvas-edge);overflow:hidden}.oasis-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--pw-color-success),var(--pw-color-success))}
.oasis-pending,.oasis-trees,.oasis-merchants,.oasis-medals{display:grid;gap:var(--pw-space-2);margin:var(--pw-space-2) 0 var(--pw-space-1)}
.oasis-pending div,.oasis-trees div,.oasis-merchants div,.oasis-medals div{padding:var(--pw-space-3) var(--pw-space-3);border-radius:var(--pw-radius-md);background:var(--pw-color-surface);border:1px solid var(--pw-color-line);color:var(--pw-color-ink)}
.oasis-pending div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--pw-space-2);align-items:center}.oasis-pending span{font-size:var(--pw-text-sm)}.oasis-pending b{color:var(--pw-color-success);font-size:var(--pw-text-sm)}.oasis-pending small{grid-column:1/-1;font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted)}
.oasis-trees strong{display:block;font-size:var(--pw-text-sm)}.oasis-trees small{display:block;margin-top:var(--pw-space-1);font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted);line-height:1.6}
.oasis-merchants{grid-template-columns:repeat(2,minmax(0,1fr))}.oasis-merchants div{display:grid;gap:var(--pw-space-1)}.oasis-merchants span{font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted)}.oasis-merchants b{font-size:var(--pw-text-sm)}
.oasis-city{padding:var(--pw-space-3);border-radius:var(--pw-radius-md);background:var(--pw-color-surface);border:1px solid var(--pw-color-line);color:var(--pw-color-ink);margin:var(--pw-space-2) 0 var(--pw-space-1)}
.oasis-city-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--pw-space-2);margin-bottom:var(--pw-space-2)}.oasis-city-head strong{font-size:var(--pw-text-sm)}.oasis-city-head em{font-style:normal;font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted)}
.oasis-city small{display:block;margin-top:var(--pw-space-2);font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted);line-height:1.6}
.oasis-medals div{display:flex;justify-content:space-between;gap:var(--pw-space-2);font-size:var(--pw-text-sm)}.oasis-medals b{color:var(--pw-color-ink-muted);font-weight:var(--pw-weight-semibold)}.oasis-medals .is-ok b{color:var(--pw-color-success)}
#district-scene .oasis-rules{margin:var(--pw-space-2) 0 0;padding:2px 0;border-top:0}#district-scene .oasis-rules+.oasis-rules{margin-top:0}#district-scene .oasis-rules p,#district-scene .oasis-rules li{font-size:var(--pw-text-xs);line-height:1.7;color:var(--pw-color-ink-muted)}#district-scene .oasis-rules ul{margin:var(--pw-space-1) 0 0;padding-left:var(--pw-space-4);display:grid;gap:var(--pw-space-1)}
#district-scene .hall-body .oasis-rules summary{font-size:var(--pw-text-sm);color:var(--pw-color-action);cursor:pointer;min-height:44px;align-content:center}
/* 红树里程碑 · RWA 抽奖资格 */
.oasis-rwa{padding:var(--pw-space-3);border-radius:var(--pw-radius-md);background:linear-gradient(120deg,var(--pw-color-canvas),var(--pw-color-surface));border:1px solid var(--pw-color-gold-tint);color:var(--pw-color-ink);margin:var(--pw-space-2) 0 var(--pw-space-1)}
.oasis-rwa-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--pw-space-2);margin-bottom:var(--pw-space-2)}.oasis-rwa-head strong{font-size:var(--pw-text-sm)}.oasis-rwa-head em{font-style:normal;font-size:var(--pw-text-xs);color:var(--pw-color-gold)}
.oasis-rwa .oasis-progress{background:var(--pw-color-canvas-edge)}.oasis-rwa .oasis-progress i{background:linear-gradient(90deg,var(--pw-color-gold),var(--pw-color-gold))}
.oasis-rwa small{display:block;margin-top:var(--pw-space-2);font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted);line-height:1.6}
/* 首页卡片 */
.hub-oasis{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:var(--pw-space-3);width:100%;margin-top:var(--pw-space-4);padding:var(--pw-space-3) var(--pw-space-4);border:1px solid var(--pw-color-line);border-radius:var(--pw-radius-lg);background:linear-gradient(120deg,var(--pw-color-canvas),var(--pw-color-surface));color:var(--pw-color-ink);text-align:left}
.hub-oasis .oasis-tree{width:64px;height:54px}
.hub-oasis-copy{display:grid;gap:var(--pw-space-1);min-width:0}
.mobile-home-hub .hub-oasis small{font-size:var(--pw-text-xs)!important;letter-spacing:.1em!important;color:var(--pw-color-success)}
.hub-oasis b{font-size:var(--pw-text-sm);font-weight:var(--pw-weight-strong);color:var(--pw-color-ink)}
.hub-oasis-copy>span{font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted);line-height:1.5}
.hub-oasis>span:last-child{color:var(--pw-color-success);font-size:var(--pw-text-lg)}
/* 勋章页附加条件 */
#modal .medals-row p.medals-tree{color:var(--pw-color-success)}#modal .medals-row p.medals-tree.is-short{color:var(--pw-color-gold)}
#modal .medals-row .medals-tree-action{font-size:var(--pw-text-xs);padding:var(--pw-space-2) var(--pw-space-3);min-height:44px;margin-top:var(--pw-space-1);border-radius:var(--pw-radius-sm)}
/* 游戏订单：兑换后解锁的 PWC、评分、样例兑换站 */
#modal .pwc-gain.is-pending{background:var(--pw-color-canvas);border:1px dashed var(--pw-color-line-strong)}
#modal .game-rating{margin:var(--pw-space-3) 0;padding:var(--pw-space-3);border-radius:var(--pw-radius-md);background:var(--pw-color-canvas);border:1px solid var(--pw-color-line)}
#modal .game-rating label{display:block;font-size:var(--pw-text-sm);color:var(--pw-color-ink-muted);margin-bottom:var(--pw-space-2)}
#modal .game-rating select{width:100%;margin-bottom:var(--pw-space-2)}#modal .game-rating .primary{width:100%}
#modal .game-rating strong{display:block;font-size:var(--pw-text-lg);color:var(--pw-color-gold)}
#modal .game-rating small{color:var(--pw-color-ink-muted);font-size:var(--pw-text-xs)}
#modal .publisher-redeem{padding:var(--pw-space-5);border-radius:var(--pw-radius-lg);background:var(--pw-color-canvas-edge);border:1px solid var(--pw-color-line-strong);color:var(--pw-color-ink)}
#modal .publisher-redeem p{color:var(--pw-color-ink-muted)!important}
#modal .publisher-redeem label{display:block;font-size:var(--pw-text-xs);letter-spacing:.08em;color:var(--pw-color-ink-muted);margin:var(--pw-space-3) 0 var(--pw-space-1)}
#modal .publisher-redeem input{width:100%;font-family:var(--pw-font-mono);font-size:var(--pw-text-lg)!important;letter-spacing:.06em;text-transform:uppercase}
#modal .publisher-redeem .primary{width:100%;margin-top:var(--pw-space-2);background:var(--pw-color-ink)!important;border-color:var(--pw-brand-line-strong)!important}
/* 商家工作台说明块在浅色模态里保持可读 */
#modal .desk-money-flow{background:var(--pw-color-canvas);border-color:var(--pw-color-line);color:var(--pw-color-ink)}#modal .desk-money-flow li{background:var(--pw-color-surface);border:1px solid var(--pw-color-line)}#modal .desk-money-flow li span,#modal .desk-money-flow p{color:var(--pw-color-ink-muted)!important}#modal .desk-money-flow form{display:grid;gap:var(--pw-space-2);margin-top:var(--pw-space-3)}#modal .desk-money-flow label{font-size:var(--pw-text-sm);font-weight:var(--pw-weight-semibold);color:var(--pw-color-ink-muted)}
