@charset "UTF-8";
/* The cloud control desk follows the shared Poker-TV black/gold palette.
   Scoped to the controller HTML; the TV renderer and LAN edition keep their themes. */
html.xy-cloud-control {
  color-scheme: dark;
  --bg: #080807;
  --panel: #151411;
  --panel2: #201b13;
  --line: #4c3d28;
  --text: #f5eee1;
  --muted: #b7a995;
  --gold: #e0bc79;
  --green: #e0bc79;
  --red: #e8a09a;
  background: var(--bg);
}
.xy-cloud-control body {
  color: var(--text);
  background: radial-gradient(circle at 100% 0, #a77b3219, transparent 35%), linear-gradient(180deg, #100f0c, #090908 48%);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  -webkit-tap-highlight-color: transparent;
}
.xy-cloud-control a:hover { color: #f0d4a2; }
.xy-cloud-control :is(button, a, input, select, textarea, summary):focus-visible { outline: 2px solid #f1d399; outline-offset: 3px; }
.xy-cloud-control :is(button, a.btn) { transition: background .18s, border-color .18s, color .18s, box-shadow .18s; }
.xy-cloud-control button:disabled { opacity: .45; }
.xy-cloud-control .sidebar {
  background: linear-gradient(175deg, #191611, #0d0d0b 72%);
  border-right-color: #4c3d28;
  padding-top: 28px;
}
.xy-cloud-control .brand { color: #fff3df; }
.xy-cloud-control .brand > img { padding: 3px; border: 1px solid #977542; border-radius: 10px; background: #221c13; box-shadow: 0 0 0 2px #d3a75917; }
.xy-cloud-control img[src="/icon.svg"] { filter: grayscale(1) sepia(1) saturate(1.1) brightness(1.1); }
.xy-cloud-control .brand small { color: #b6a07c; letter-spacing: 1.4px; }
.xy-cloud-control :is(.nav-label, .app-version) { color: #8f806b; }
.xy-cloud-control .nav button { min-height: 46px; color: #b7a995; border: 1px solid transparent; border-radius: 10px; }
.xy-cloud-control .nav button:hover { background: #211a12; border-color: #604b2e; color: #fff3df; }
.xy-cloud-control .nav button.active { color: #f4d69f; border-color: #80633b; background: linear-gradient(100deg, #3b2e1c, #201b13); box-shadow: inset 2px 0 #e0bc79; }
.xy-cloud-control .topbar { min-height: 83px; background: linear-gradient(110deg, #191611, #0d0d0b 72%); border-bottom-color: #5b482d; }
.xy-cloud-control :is(.breadcrumb, .clock) { color: #b7a995; }
.xy-cloud-control .breadcrumb span:last-child { color: #f4e8d1; }
.xy-cloud-control .cloud-mobile-brand { display: none; }
.xy-cloud-control .content { padding-top: 28px; }
.xy-cloud-control .connection { border: 1px solid #59472f; border-radius: 12px; background: #1b1710; }
.xy-cloud-control .connection small { color: #b9aa91; }
.xy-cloud-control .side-user { border-color: #4c3d28; }
.xy-cloud-control .side-user small { color: #aa9980; }
.xy-cloud-control .user-icon { border-color: #6e5836; background: #2c2418; color: #e9c98f; }
.xy-cloud-control .paired-device { background: #19150f; border-color: #79613d; border-radius: 10px; color: #f5eee1; }
.xy-cloud-control .paired-device small { color: #c5b18c; }
.xy-cloud-control .dot { background: #e0bc79; box-shadow: 0 0 7px #e0bc7933; }
.xy-cloud-control .dot.off { background: #bd847b; }
.xy-cloud-control .btn {
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid #755d3b;
  border-radius: 10px;
  background: #251e14;
  color: #f0d19a;
  font-weight: 650;
  box-shadow: none;
}
.xy-cloud-control .btn:hover { border-color: #a7895b; background: #33291b; color: #fff7e8; }
.xy-cloud-control .btn.gold {
  border-color: #e2c18a;
  background: linear-gradient(100deg, #b98d4e, #e2c486);
  color: #20170d;
  font-weight: 750;
  box-shadow: inset 0 1px #fff5d15c;
}
.xy-cloud-control .btn.gold:hover { background: linear-gradient(100deg, #d4aa6d, #f0d49c); color: #17130d; }
.xy-cloud-control .btn.ghost { border-color: #635035; background: #1c1812; color: #e5c792; }
.xy-cloud-control :is(.btn.danger, .mini-btn.danger) { border-color: #79544d; background: #30211f; color: #ffd0c7; }
.xy-cloud-control :is(.btn.danger, .mini-btn.danger):hover { border-color: #ad756d; background: #442b27; }
.xy-cloud-control .mini-btn { min-height: 34px; border-color: #635035; border-radius: 8px; background: #211b13; color: #dfd0b5; }
.xy-cloud-control .mini-btn:hover { border-color: #b58f55; background: #33291b; color: #fff0d5; }
.xy-cloud-control .mini-btn.plus { color: #f0d19a; border-color: #8b6b3e; background: #3b2e1c; }
.xy-cloud-control .mini-btn.minus { color: #e8ada4; border-color: #6e4b43; background: #2c1f1b; }
.xy-cloud-control :is(input, select, textarea) { min-height: 44px; border-color: #514532; border-radius: 9px; background: #0e0d0b; color: #f8f2e7; box-shadow: none; }
.xy-cloud-control :is(input, textarea)::placeholder { color: #928778; }
.xy-cloud-control :is(input, select, textarea):hover { border-color: #8e754d; }
.xy-cloud-control :is(input, select, textarea):focus { border-color: #d8b77d; background: #12100d; }
.xy-cloud-control :is(input[type=checkbox], input[type=radio]) { min-height: 0; accent-color: #d8b77d; }
.xy-cloud-control input[type=range] { min-height: 6px; accent-color: #d8b77d; }
.xy-cloud-control :is(.field > span, .section-label, .hint, .sub) { color: #b7a995; }
.xy-cloud-control .search-wrap svg { color: #bba47e; }
.xy-cloud-control .tabs { gap: 7px; border-color: #4c3d28; padding-bottom: 12px; }
.xy-cloud-control .tabs button { min-height: 42px; padding: 10px 17px; border: 1px solid #51432f; border-radius: 10px; background: #16130e; color: #bcae97; }
.xy-cloud-control .tabs button.selected { color: #f4d69f; border-color: #ad8851; background: #3b2e1c; box-shadow: inset 0 1px #f7da9d24; }
.xy-cloud-control .tabs button small { color: #c1aa82; }
.xy-cloud-control :is(.card, .board-card, .stat) { background: #151411; border-color: #54432d; border-radius: 15px; box-shadow: inset 0 1px #ffffff08; }
.xy-cloud-control .card h3 { color: #f8f1e4; font-weight: 700; }
.xy-cloud-control .card > p { color: #c0b29d; }
.xy-cloud-control .board-card { background: radial-gradient(circle at 100% 0, #9a722f26, transparent 50%), linear-gradient(145deg, #211b12, #11100d 75%); }
.xy-cloud-control .board-symbol { border: 1px solid #735c37; background: #2c2418; color: #e9c98f; border-radius: 11px; }
.xy-cloud-control :is(.board-card p, .board-card small, .stat small) { color: #b7a995; }
.xy-cloud-control :is(.stat strong, .data-table .points, .score-preview strong) { color: #edc985; }
.xy-cloud-control .data-wrap { border-color: #695234; border-radius: 15px; background: #14120e; box-shadow: inset 0 1px #f7da9d18, 0 11px 30px #0004; }
.xy-cloud-control .data-table { background: #14120e; }
.xy-cloud-control .data-table th { background: #201b13; color: #c9bba7; border-bottom: 1px solid #5b482d; font-size: 11px; font-weight: 600; }
.xy-cloud-control .data-table td { border-top-color: #a78a4d21; }
.xy-cloud-control .data-table tbody tr:nth-child(even) { background: #19150f; }
.xy-cloud-control .data-table tbody tr:hover { background: #cda7620b; }
.xy-cloud-control .rank-person b { color: #fff3df; font-weight: 650; }
.xy-cloud-control .rank-person small { color: #ac9c82; }
.xy-cloud-control .avatar { border: 1px solid #8b6f443d; }
.xy-cloud-control :is(.vip, .member-tag) { color: #eac486; border-color: #79613d; background: #342a1b; }
.xy-cloud-control :is(.score-scope-note, .info-banner) { color: #ebd3a7; border-color: #79613d; background: #221c13; }
.xy-cloud-control :is(.score-board-context, .score-target-confirmation, .member-board-score) { border-color: #6e5836; background: #221c13; color: #c6b79d; }
.xy-cloud-control :is(.score-board-context b, .member-board-score b) { color: #ecc98d; }
.xy-cloud-control :is(.score-board-context span, .score-preview > span, .member-board-score small, .eliminated-person small) { color: #b7a995; }
.xy-cloud-control .scope-summary { color: #c6b79d; }
.xy-cloud-control :is(.empty, .empty p) { color: #b7a995; }
.xy-cloud-control .modal-overlay { background: #070604d9; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.xy-cloud-control .modal { color: #f8f1e5; border-color: #806944; border-radius: 17px; background: radial-gradient(circle at 100% 0, #9a722f20, transparent 40%), #17140f; box-shadow: inset 0 1px #ffe3ad18, 0 24px 70px #0009; }
.xy-cloud-control .modal h2 { color: #fff0d9; font-weight: 750; }
.xy-cloud-control .modal .close { color: #d2bd9d; border-radius: 9px; }
.xy-cloud-control .modal .close:hover { background: #3b2e1c; color: #ffdfab; }
.xy-cloud-control .modal .sub { color: #c6b69c; }
.xy-cloud-control .tv-pairing-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.xy-cloud-control .modal .tv-pairing-head h2 { margin: 0; font-size: 18px; }
.xy-cloud-control .tv-panel-back { min-height: 38px; padding: 8px 10px; font-size: 11px; white-space: nowrap; }
.xy-cloud-control :is(.score-current, .score-preview, .pair-target) { color: #f3d69f; background: #211b12; border-color: #79613d; }
.xy-cloud-control .quick-amounts .selected { color: #f3d69f; background: #3b2e1c; border-color: #ad8851; }
.xy-cloud-control :is(.avatar-library, .board-enrollment, .join-options, .quick-review, .quick-summary, .quick-battle-panel) { border-color: #6e5836; background: #19160f; }
.xy-cloud-control :is(.avatar-library-head span, .avatar-library-head small, .avatar-choice > span, .board-enrollment-head b, .enrollment-table-head, .join-score span) { color: #c6b69c; }
.xy-cloud-control :is(.avatar-category-tabs button, .avatar-choice) { border-color: #655135; background: #211b13; color: #c5b7a2; }
.xy-cloud-control .avatar-category-tabs button[aria-selected=true] { border-color: #dcba79; background: #d7b374; color: #21190e; }
.xy-cloud-control .avatar-choice.chosen { border-color: #ddb675; background: #392d1d; box-shadow: 0 0 0 1px #d9b3735c; }
.xy-cloud-control .avatar-choice.chosen i { border-color: #e2c18a; background: #e0bc79; color: #21190e; }
.xy-cloud-control :is(.avatar-choice.chosen > span, .avatar-selection, .board-enrollment-head span, .member-initial-score, .join-member b) { color: #eac486; }
.xy-cloud-control :is(.enrollment-member, .enrollment-batch, .board-member-options, .join-member) { border-color: #5b4c35; }
.xy-cloud-control .enrollment-member.is-selected { background: #d6ac6b0b; }
.xy-cloud-control :is(.enrollment-member small, .enrollment-batch label, .board-card .card-bottom, .board-member-count) { color: #b3a58e; }
.xy-cloud-control :is(.layout-setting-choice, .rotation-item, .brand-settings, .sound-settings, .battle-sound-panel) { border-color: #5b4932; background: #19160f; }
.xy-cloud-control .layout-setting-choice:has(input:checked) { border-color: #ddb675; background: #392d1d; box-shadow: 0 0 0 1px #d9b3735c; }
.xy-cloud-control :is(.layout-setting-choice b, .layout-setting-choice small) { color: #d9c6a2; }
.xy-cloud-control :is(.rotation-enable, .rotation-board-list > label, .theme-choice) { border-color: #5b4932; background: #19160f; color: #c5b7a2; }
.xy-cloud-control :is(.rotation-board-list label:has(input:checked), .theme-choice.selected) { border-color: #ddb675; background: #392d1d; }
.xy-cloud-control .theme-choice.selected::after { background: #d8b77d; color: #21190e; }
.xy-cloud-control :is(.rotation-heading b, .rotation-board-list label:has(input:checked) small, .theme-choice b) { color: #eac486; }
.xy-cloud-control :is(.rotation-heading small, .rotation-board-list small, .theme-choice small) { color: #b7a995; }
.xy-cloud-control .layout-mini { background: #16130e; border-color: #79613d; }
.xy-cloud-control .layout-mini i { border-color: #b29563; background: #80633b; }
.xy-cloud-control .layout-mini-dual i { background: repeating-linear-gradient(0deg, #947748 0, #947748 8px, #30261a 8px, #30261a 11px); }
.xy-cloud-control :is(.background-preset, .background-preset-card, .preset-color) { border-color: #79613d; }
.xy-cloud-control :is(.appearance-actions .btn, .brand-actions .btn) { min-height: 44px; }
.xy-cloud-control .logo-preview { background: #100f0c; border-color: #866e4d; }
.xy-cloud-control .logo-preview span { color: #d8c9af; }
.xy-cloud-control .background-preview { border-color: #866e4d; }
.xy-cloud-control :is(.battle-pair-summary, .battle-local-summary, .battle-sticky, .battle-record, .battle-member-results) { border-color: #5b4932; background: #19160f; }
.xy-cloud-control :is(.battle-member-results button, .battle-effect-option) { border-color: #635035; background: #211b13; color: #e9d9bd; }
.xy-cloud-control :is(.battle-member-results button:hover, .battle-effect-option:hover) { border-color: #a7895b; background: #33291b; }
.xy-cloud-control .battle-effect-option.selected { border-color: #ddb675; background: #392d1d; box-shadow: 0 0 0 1px #d9b3733b; }
.xy-cloud-control .battle-effect-option.selected > i { background: #d8b77d; color: #21190e; }
.xy-cloud-control :is(.battle-pair-summary strong, .battle-member-results strong, .battle-record strong, .battle-local-summary strong) { color: #f0d19a; }
.xy-cloud-control :is(.battle-section-title p, .battle-member-results small, .battle-member-results p, .battle-effect-option small, .battle-record p, .battle-record small, .battle-history-head p, .quick-battle-help) { color: #b7a995; }
.xy-cloud-control :is(.battle-undo-button, .battle-effect-option em, .battle-effect-option b, .battle-pair-arrow, .quick-battle details > summary b) { color: #edc985; }
.xy-cloud-control #toast.toast { color: #fff0d4; border: 1px solid #c19a5e; background: #241d13; box-shadow: 0 8px 25px #0008; }
.xy-cloud-control .error { color: #f0b2a6; }
.xy-cloud-control #cloud-license-badge { background: #201b13 !important; color: #e8c385 !important; border-color: #806944 !important; border-radius: 9px !important; }
.xy-cloud-control .mobile-admin-nav { background: #100f0df5; border-top-color: #6e5836; }
.xy-cloud-control .mobile-admin-nav button { color: #aa9980; }
.xy-cloud-control .mobile-admin-nav button.active { color: #f4d69f; background: #3b2e1c; }
.xy-cloud-control .mobile-menu { color: #edc985; }
.xy-cloud-control .admin-welcome { color: #f5eee1; }
.xy-cloud-control .admin-welcome p { color: #b7a995; }
@media (max-width: 850px) {
  .xy-cloud-control .breadcrumb { display: flex; align-items: center; gap: 12px; min-width: 0; }
  .xy-cloud-control .breadcrumb > span { display: none; }
  .xy-cloud-control .cloud-mobile-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
  .xy-cloud-control .cloud-mobile-brand img { width: 36px; height: 36px; padding: 2px; object-fit: contain; border: 1px solid #977542; border-radius: 9px; background: #221c13; }
  .xy-cloud-control .cloud-mobile-brand strong { display: block; color: #fff3df; font-size: 16px; font-weight: 750; line-height: 1.3; }
  .xy-cloud-control .cloud-mobile-brand small { display: block; color: #d2b279; font-size: 8px; letter-spacing: 1px; margin-top: 4px; }
  .xy-cloud-control .main { max-width: 680px; margin: auto; min-height: 100dvh; background: radial-gradient(circle at 100% 0, #a77b3217, transparent 35%), #0d0c0a; }
  .xy-cloud-control .topbar { min-height: 83px; height: auto; padding: 14px 18px; align-items: flex-start; gap: 10px; }
  .xy-cloud-control .sidebar { background: #100f0d; box-shadow: 10px 0 40px #000b; }
  .xy-cloud-control .content { padding: 22px 16px 100px; }
  .xy-cloud-control .top-right { gap: 8px; }
  .xy-cloud-control .paired-device { padding: 7px 9px; }
  .xy-cloud-control .top-right .btn { min-height: 38px; padding: 8px 10px; font-size: 11px; }
  .xy-cloud-control .tabs button { padding: 10px 12px; font-size: 12px; }
}
@media (max-width: 580px) {
  .xy-cloud-control .main { max-width: 560px; }
  .xy-cloud-control .topbar .btn.ghost { display: inline-flex; }
  .xy-cloud-control .topbar .paired-device { border-radius: 8px; }
  .xy-cloud-control .content { padding: 18px 14px 104px; }
  .xy-cloud-control .tabs { gap: 6px; }
  .xy-cloud-control .tabs button { padding: 9px 11px; font-size: 11px; min-height: 40px; }
  .xy-cloud-control .data-table :is(th, td) { padding: 14px 10px; }
  .xy-cloud-control .data-table .mini-btn { min-height: 38px; padding: 8px 10px; margin: 2px; }
  .xy-cloud-control .modal { padding: 23px 18px; border-radius: 17px; }
  .xy-cloud-control .modal .btn { min-height: 44px; }
  .xy-cloud-control .modal .pair-full { min-height: 46px; }
}

html.xy-cloud-control .empty-start { padding:32px; text-align:center; }
html.xy-cloud-control .empty-start .board-symbol { margin:0 auto 16px; }
html.xy-cloud-control .empty-start p { color:var(--muted); line-height:1.7; }
html.xy-cloud-control .empty-start .heading-tools { justify-content:center; flex-wrap:wrap; margin:20px 0; }
