/* 控制条、约会 / 时间对话框、消息菜单。颜色都取 ui-kit.css 的共用配色，跟着深浅色一起换（PD-CLIENT-014）；
   兜底值是原来的浅色，ui-kit.css 没加载到时外观照旧。 */
.game-controls { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:8px 12px; border-bottom:1px solid var(--y-line, #f1dfdd); background:var(--y-control-bar, #fff7f5); color:var(--y-chip-text, #5e3a46); flex-shrink:0; font-size:12px; }
.game-controls[hidden], .game-dialog [hidden] { display:none; }
/* 按钮固定一行：英文、日文的长按钮也不折成两行，窄屏放不下时左右滑动（滚动条隐藏） */
.game-chips { display:flex; align-items:center; gap:6px; flex:1 1 100%; min-width:0; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.game-chips::-webkit-scrollbar { display:none; }
.game-chips > button { flex:0 0 auto; white-space:nowrap; }
@media (max-width: 440px) { .game-controls { padding:8px 10px; } .game-chips { gap:4px; } .game-controls .game-chips > button { padding:7px 8px; } }
@media (max-width: 380px) { .game-controls { padding:8px; } .game-chips { gap:4px; } .game-controls .game-chips > button { padding:7px 6px; } }
.game-controls button, .game-dialog button { cursor:pointer; padding:7px 10px; border:1px solid var(--y-chip-stroke, #ebd3d7); border-radius:8px; color:var(--y-chip-text, #5e3a46); background:var(--y-chip-bg, #ffffff); font:inherit; transition:background .12s, border-color .12s; }
.game-controls button:hover:not(:disabled), .game-dialog button:hover:not(:disabled) { border-color:var(--y-primary, #c96c8a); }
.game-controls button:active:not(:disabled), .game-dialog button:active:not(:disabled) { background:var(--y-pressed, rgba(122, 64, 84, .08)); }
.game-controls button:disabled, .game-dialog button:disabled { opacity:.5; cursor:default; }
.game-dialog { width:min(420px, calc(100vw - 32px)); max-height:85dvh; overflow:auto; border:0; border-radius:16px; padding:22px; background:var(--y-surface, #fffaf8); color:var(--y-text, #3b2a2e); box-sizing:border-box; font:14px/1.5 system-ui,sans-serif; box-shadow:var(--y-shadow-pop, 0 12px 34px rgba(122, 64, 84, .2)); }
.game-dialog::backdrop { background:var(--y-overlay, rgba(47, 24, 32, .38)); }
.game-dialog h2 { margin:0 0 10px; font-size:20px; }
.game-dialog p { margin:8px 0 16px; color:var(--y-text2, #8a6c72); }
.game-dialog label { display:flex; flex-direction:column; gap:6px; margin:12px 0; }
.game-dialog input, .game-dialog select { width:100%; min-width:0; padding:10px; font:inherit; border:1px solid var(--y-chip-stroke, #ebd3d7); border-radius:8px; box-sizing:border-box; background:var(--y-surface, #fffaf8); color:var(--y-text, #3b2a2e); }
.game-dialog input:focus, .game-dialog select:focus { outline:0; border-color:var(--y-primary, #c96c8a); }
.game-dialog input[type=checkbox] { accent-color:var(--y-primary, #c96c8a); }
.game-dialog .game-now { flex-direction:row; align-items:center; }
.game-now input { width:auto; }
.game-advance { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
/* 三滚轮：日期 / 小时 / 分钟 */
.game-wheels { display:flex; gap:6px; margin:8px 0 0; }
.game-wheel { flex:1 1 0; min-width:0; height:180px; overflow:hidden; border:1px solid var(--y-line, #f1dfdd); border-radius:10px; background:var(--y-bar, #fdf4f3); position:relative; }
.game-wheel ul { margin:0; padding:72px 0; list-style:none; height:180px; box-sizing:border-box; overflow-y:auto; scrollbar-width:none; }
.game-wheel ul::-webkit-scrollbar { display:none; }
.game-wheel li { height:36px; line-height:36px; text-align:center; font-size:15px; color:var(--y-text3, #a3868c); cursor:pointer; user-select:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
.game-wheel li.on { color:var(--y-text, #3b2a2e); font-weight:700; font-size:17px; }
/* 日期和周几分两行，仍保持每格 36px，窄屏也能完整看清。 */
.game-wheel[data-wheel="day"] { flex:2.6 1 0; }
.game-wheel[data-wheel="day"] li { font-size:13px; }
.game-wheel[data-wheel="day"] li.on { font-size:15px; }
.game-wheel-date, .game-wheel-weekday { display:block; line-height:18px; }
.game-wheel-weekday { font-size:12px; }
.game-wheel::before, .game-wheel::after { content:''; position:absolute; left:8px; right:8px; height:1px; background:var(--y-line, #f1dfdd); pointer-events:none; }
.game-wheel::before { top:72px; }
.game-wheel::after { top:107px; }
.game-actions { display:flex; justify-content:flex-end; gap:10px; }
.game-actions button[type=submit] { color:var(--y-on-primary, #ffffff); background:var(--y-primary, #c96c8a); border-color:var(--y-primary, #c96c8a); font-weight:600; }
.game-actions button[type=submit]:hover:not(:disabled) { background:var(--y-primary-deep, #b9587a); border-color:var(--y-primary-deep, #b9587a); }
.game-dialog .game-error { color:var(--y-danger, #d9435f); min-height:20px; margin:12px 0; }

/* 消息气泡的右键 / 长按菜单（引用、复制、翻译、编辑、删除）；翻译中的那段气泡先变淡（PD-CLIENT-024） */
.bubble.translating { opacity:.55; transition:opacity .2s; }
.msg-menu { position:fixed; z-index:70; display:flex; flex-direction:column; min-width:104px; padding:4px; border:1px solid var(--y-line, #f1dfdd); border-radius:10px; background:var(--y-surface, #fffaf8); color:var(--y-text, #3b2a2e); box-shadow:var(--y-shadow-pop, 0 12px 34px rgba(122, 64, 84, .2)); font-size:14px; }
.msg-menu button { cursor:pointer; padding:9px 14px; border:0; border-radius:7px; background:none; color:var(--y-text, #3b2a2e); font:inherit; text-align:left; }
.msg-menu button:hover { background:var(--y-hover, #f9ebea); }
.msg-menu button.danger { color:var(--y-danger, #d9435f); }
.msg-menu-tip { position:fixed; left:50%; bottom:15dvh; transform:translateX(-50%); z-index:71; padding:8px 16px; border-radius:999px; background:var(--y-notice-bg, rgba(47, 32, 36, .9)); color:var(--y-notice-text, #ffffff); font-size:13px; pointer-events:none; }
.msg-edit textarea { width:100%; min-height:150px; padding:10px; font:inherit; border:1px solid var(--y-chip-stroke, #ebd3d7); border-radius:8px; box-sizing:border-box; background:var(--y-surface, #fffaf8); color:var(--y-text, #3b2a2e); resize:vertical; }
.msg-edit textarea:focus { outline:0; border-color:var(--y-primary, #c96c8a); }
