/* Theme propagation for the whole application, including the live game board. */
html[data-home-theme="mrak"] {
  --page-bg:#060606; --page-panel:#121110f5; --page-panel-2:#1a1817ed;
  --page-card:#201d1be8; --page-line:#625d56; --page-line-soft:#625d564c;
  --page-text:#e5ded3; --page-muted:#978e83; --page-accent:#a93630;
  --page-input:#090909e8; --page-danger:#8d2b26;
}
html[data-home-theme="worlds"] {
  --page-bg:#07151e; --page-panel:#102832ed; --page-panel-2:#15333eed;
  --page-card:#183944e8; --page-line:#719995; --page-line-soft:#71999552;
  --page-text:#eee9df; --page-muted:#a6b8b5; --page-accent:#72c2bc;
  --page-input:#0a202aeb; --page-danger:#b85f55;
}

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-page,.lobby-page,.admin-page) {
  color:var(--page-text);
  background:var(--page-bg);
}
html[data-home-theme="mrak"] :is(.content-background,.lobby-background,.admin-page>.game-scene-background) { content:url("/theme-assets/mrak.png"); filter:saturate(.78) contrast(1.06) brightness(.68); }
html[data-home-theme="worlds"] :is(.content-background,.lobby-background,.admin-page>.game-scene-background) { content:url("/theme-assets/worlds.png"); filter:saturate(.9) contrast(1.02) brightness(.74); }
html[data-home-theme="mrak"] :is(.content-page::before,.lobby-overlay,.admin-page::before) { background:linear-gradient(105deg,#020202a8,#08060662 52%,#020202a6),radial-gradient(circle at 62% 18%,#7b1d1726,transparent 38%); box-shadow:inset 0 0 8rem #0009; }
html[data-home-theme="worlds"] :is(.content-page::before,.lobby-overlay,.admin-page::before) { background:linear-gradient(105deg,#06151f9e,#0a20295c 52%,#06151f9e),radial-gradient(circle at 68% 18%,#72c2bc26,transparent 40%); box-shadow:inset 0 0 7rem #0410188f; }

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-parchment,.lobby-parchment,.admin-parchment) {
  border:1px solid var(--page-line);
  color:var(--page-text);
  background:linear-gradient(145deg,var(--page-panel-2),var(--page-panel));
  box-shadow:0 28px 75px #000d,inset 0 1px #ffffff0c,inset 0 0 70px #0003;
  backdrop-filter:blur(15px) saturate(1.05);
}
html[data-home-theme="mrak"] :is(.content-parchment,.lobby-parchment,.admin-parchment) { border-radius:0; clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px); }
html[data-home-theme="worlds"] :is(.content-parchment,.lobby-parchment,.admin-parchment) { border-radius:16px; }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-parchment,.lobby-parchment)::before { border-color:var(--page-line-soft); background:none; }

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-page,.lobby-page,.admin-page) :is(h1,h2,h3,h4,strong,dt,legend) { color:var(--page-text); }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-page,.lobby-page,.admin-page) :is(p,small,span,dd,.content-lead,.lobby-title-block p,.deck-settings-editor header p) { border-color:var(--page-line-soft); }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-kicker,.lobby-title-block>span,.room-heading>div>span,.admin-header span,.admin-header>strong) { color:var(--page-accent)!important; }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-lead,.lobby-title-block p,.profile-type,.settings-message,.deck-settings-editor header p,.tables-empty span,.room-code span) { color:var(--page-muted)!important; }

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-page,.lobby-page,.admin-page) :is(input,select,textarea) {
  border:1px solid var(--page-line);
  color:var(--page-text);
  background:var(--page-input);
  box-shadow:inset 0 3px 10px #0008;
}
html[data-home-theme="mrak"] :is(.content-page,.lobby-page,.admin-page) :is(input,select,textarea) { border-radius:0; }
html[data-home-theme="worlds"] :is(.content-page,.lobby-page,.admin-page) :is(input,select,textarea) { border-radius:7px; }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-page,.lobby-page,.admin-page) :is(input,select,textarea):focus { border-color:var(--page-accent); background:color-mix(in srgb,var(--page-input) 86%,#fff); box-shadow:inset 0 3px 10px #0008,0 0 0 2px color-mix(in srgb,var(--page-accent) 28%,transparent); }

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-back,.content-primary,.lobby-back,.lobby-primary-button,.table-row button,.code-entry>button,.ready-button,.start-game-button,.admin-header>button,.admin-page button,.settings-page button) {
  border-color:var(--page-line);
  color:var(--page-text);
  background:linear-gradient(145deg,var(--page-panel-2),var(--page-panel));
  box-shadow:inset 0 1px #ffffff10,0 7px 17px #0008;
}
html[data-home-theme="mrak"] :is(.content-back,.content-primary,.lobby-primary-button,.table-row button,.code-entry>button,.ready-button,.start-game-button,.admin-header>button) { border-radius:0; }
html[data-home-theme="worlds"] :is(.content-back,.content-primary,.lobby-primary-button,.table-row button,.code-entry>button,.ready-button,.start-game-button,.admin-header>button) { border-radius:8px; }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-back,.content-primary,.lobby-primary-button,.table-row button,.code-entry>button,.ready-button,.start-game-button,.admin-header>button,.admin-page button):hover { border-color:var(--page-accent); color:#fff; filter:brightness(1.1); box-shadow:0 8px 20px #0009,0 0 17px color-mix(in srgb,var(--page-accent) 24%,transparent); }

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.lobby-tabs,.admin-tabs,.profile-stat-grid article,.settings-columns>*,.rule-card,.leader-row,.tables-empty,.table-row,.players-section,.room-settings,.content-editor-card,.deck-cover-editor,.admin-info-note,.password-modal) {
  border-color:var(--page-line);
  color:var(--page-text);
  background:color-mix(in srgb,var(--page-card) 92%,transparent);
  box-shadow:inset 0 1px #ffffff0b,0 6px 17px #0005;
}
html[data-home-theme="mrak"] :is(.lobby-tabs,.admin-tabs,.profile-stat-grid article,.settings-columns>*,.rule-card,.leader-row,.tables-empty,.table-row,.players-section,.room-settings,.content-editor-card,.password-modal) { border-radius:0; }
html[data-home-theme="worlds"] :is(.lobby-tabs,.admin-tabs,.profile-stat-grid article,.settings-columns>*,.rule-card,.leader-row,.tables-empty,.table-row,.players-section,.room-settings,.content-editor-card,.password-modal) { border-radius:10px; }

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.lobby-tabs button,.admin-tabs button,.privacy-choice button) { border-color:var(--page-line); color:var(--page-muted); background:color-mix(in srgb,var(--page-card) 88%,transparent); }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.lobby-tabs button.active,.admin-tabs button.active,.privacy-choice button.active,.ready-button.active) { border-color:var(--page-accent); color:#fff; background:color-mix(in srgb,var(--page-accent) 24%,var(--page-panel)); box-shadow:inset 3px 0 var(--page-accent); }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.table-emblem,.lobby-avatar,.large-avatar,.player-avatar,.settings-avatar) { border-color:var(--page-accent); color:var(--page-text); background:radial-gradient(circle,var(--page-panel-2),var(--page-bg)); box-shadow:0 0 0 4px var(--page-panel),0 0 0 5px var(--page-accent),0 8px 18px #0009; }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.table-name span,.table-deck span,.table-count span,.player-row span.waiting,.owner-hint,.start-hint) { color:var(--page-muted); }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .player-row span.ready { color:var(--page-accent); }

html:not([data-live-game="true"]):is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.friends-panel,.home-account-menu,.password-modal) { color:var(--page-text); background:linear-gradient(145deg,var(--page-panel-2),var(--page-panel)); }
html:not([data-live-game="true"]):is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.friends-panel,.home-account-menu,.password-modal) :is(button,input) { border-color:var(--page-line); color:var(--page-text); background:var(--page-input); }
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-page,.lobby-page,.admin-page) .danger { border-color:var(--page-danger)!important; background:color-mix(in srgb,var(--page-danger) 42%,var(--page-panel))!important; }

/* Training is themed only when it is not the actual live party surface. */
html[data-home-theme="mrak"] :is(.training-page,.training-shell) { --training-accent:#a93630; color:var(--page-text); background-color:var(--page-bg); }
html[data-home-theme="worlds"] :is(.training-page,.training-shell) { --training-accent:#72c2bc; color:var(--page-text); background-color:var(--page-bg); }

@media (max-width:760px) {
  html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-page,.admin-page) { padding:1rem .55rem; }
  html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) :is(.content-parchment,.lobby-parchment,.admin-parchment) { width:96vw; }
}

/* ========================================================================
   20.08.2026 — тема теперь применяется к ПАРТИИ.
   Колода и изображения клеток не перекрашиваются: тема меняет окружение,
   панели, кнопки, чат, верхнюю/нижнюю навигацию и атмосферу страницы.
   ======================================================================== */

/* Классика: фон страницы больше не теряется за почти чёрной вуалью. */
html[data-home-theme="classic"] .game-page .game-scene-background{
  filter:saturate(.78) contrast(1.02) brightness(.55)!important;
}
html[data-home-theme="classic"] .game-page .game-scene-overlay{
  background:radial-gradient(circle at 43% 43%,#7d4f2528,transparent 52%),linear-gradient(90deg,#08050372,#08050335 48%,#0805038a)!important;
  box-shadow:inset 0 0 8rem #0008!important;
}
html[data-home-theme="classic"] :is(.content-background,.lobby-background,.admin-page>.game-scene-background){
  filter:saturate(.82) brightness(.7)!important;
}
html[data-home-theme="classic"] :is(.content-page::before,.lobby-overlay,.admin-page::before){
  background:linear-gradient(105deg,#0906047d,#120b0752 52%,#0906048c)!important;
  box-shadow:inset 0 0 8rem #0007!important;
}

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page{
  --game-skin-panel:var(--page-panel);
  --game-skin-panel-2:var(--page-panel-2);
  --game-skin-card:var(--page-card);
  --game-skin-line:var(--page-line);
  --game-skin-line-soft:var(--page-line-soft);
  --game-skin-text:var(--page-text);
  --game-skin-muted:var(--page-muted);
  --game-skin-accent:var(--page-accent);
  color:var(--game-skin-text)!important;
  background:var(--page-bg)!important;
}
html[data-home-theme="mrak"] .game-page .game-scene-background{
  content:url("/theme-assets/mrak.png");
  object-position:center;
  filter:saturate(.78) contrast(1.08) brightness(.66)!important;
}
html[data-home-theme="worlds"] .game-page .game-scene-background{
  content:url("/theme-assets/worlds.png");
  object-position:center;
  filter:saturate(.92) contrast(1.03) brightness(.73)!important;
}
html[data-home-theme="mrak"] .game-page .game-scene-overlay{
  background:radial-gradient(circle at 42% 42%,#7e211b2b,transparent 50%),linear-gradient(90deg,#0202028f,#08060642 50%,#0202029f)!important;
  box-shadow:inset 0 0 8rem #000a!important;
}
html[data-home-theme="worlds"] .game-page .game-scene-overlay{
  background:radial-gradient(circle at 42% 42%,#72c2bc22,transparent 52%),linear-gradient(90deg,#06151f8f,#0a202942 50%,#06151fa1)!important;
  box-shadow:inset 0 0 7rem #03101899!important;
}

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page :is(.game-menu-button,.turn-indicator,.realtime-status){
  border-color:var(--game-skin-line)!important;
  color:var(--game-skin-text)!important;
  background:linear-gradient(145deg,var(--game-skin-panel-2),var(--game-skin-panel))!important;
  box-shadow:inset 0 0 0 1px #ffffff0b,0 8px 20px #0009!important;
}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .turn-indicator{border-left-color:var(--game-skin-accent)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .turn-indicator span{color:var(--game-skin-muted)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .turn-indicator strong,
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .turn-indicator b{color:var(--game-skin-accent)!important}

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-player-header .table-player-card{
  border-color:var(--game-skin-line)!important;
  color:var(--game-skin-text)!important;
  background:linear-gradient(145deg,var(--game-skin-panel-2),var(--game-skin-panel))!important;
  box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 0 18px #0007,0 7px 18px #0008!important;
}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-player-header .table-player-card.current{
  border-color:var(--game-skin-accent)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--game-skin-accent) 42%,transparent),0 0 22px color-mix(in srgb,var(--game-skin-accent) 34%,transparent)!important;
}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-player-header .table-player-card header b{color:var(--game-skin-text)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-player-header .table-player-card header small{color:var(--game-skin-muted)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-player-header .table-player-card header .player-combat-power{color:var(--game-skin-accent)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-player-header .level-progress{border-color:var(--game-skin-line)!important;background:var(--page-bg)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-player-header .level-progress i{background:linear-gradient(90deg,var(--game-skin-accent),color-mix(in srgb,var(--game-skin-accent) 45%,#efd087))!important}

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .board-shell{
  border-color:var(--game-skin-line)!important;
  background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--game-skin-accent) 8%,transparent),transparent 58%),linear-gradient(145deg,color-mix(in srgb,var(--game-skin-panel) 88%,transparent),color-mix(in srgb,var(--page-bg) 92%,transparent))!important;
  box-shadow:inset 0 0 0 1px var(--game-skin-line-soft),inset 0 0 58px #0008,0 18px 45px #0008!important;
}
html[data-home-theme="mrak"] .game-page .game-board{border-color:#6d5550!important;box-shadow:0 0 0 2px #080706,0 0 0 4px #8f302b66,0 22px 55px #000d!important}
html[data-home-theme="worlds"] .game-page .game-board{border-color:#638e8b!important;box-shadow:0 0 0 2px #06151d,0 0 0 4px #72c2bc55,0 22px 55px #000c!important}

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page :is(.game-sidebar .game-log-panel,.game-sidebar .economy-panel,.game-sidebar .test-console,.table-communication.embedded .communication-panel){
  border-color:var(--game-skin-line)!important;
  color:var(--game-skin-text)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--game-skin-panel-2) 92%,transparent),color-mix(in srgb,var(--game-skin-panel) 96%,transparent))!important;
  box-shadow:inset 0 0 0 1px #ffffff08,inset 0 0 24px #0006,0 10px 22px #0007!important;
}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page :is(.game-panel-heading h2,.economy-panel>summary,.communication-panel>header strong){color:var(--game-skin-accent)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page :is(.game-panel-heading span,.communication-panel>header small,.table-chat-log article span){color:var(--game-skin-muted)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .table-chat-log{border-color:var(--game-skin-line-soft)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .table-chat-log article{border-color:var(--game-skin-line-soft)!important;background:color-mix(in srgb,var(--game-skin-card) 78%,transparent)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .table-chat-log article b{color:var(--game-skin-accent)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .communication-panel form input{border-color:var(--game-skin-line)!important;color:var(--game-skin-text)!important;background:var(--page-input)!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .communication-panel form button{border-color:var(--game-skin-line)!important;color:var(--game-skin-text)!important;background:color-mix(in srgb,var(--game-skin-accent) 25%,var(--game-skin-panel))!important}

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-action-dock{
  border-color:var(--game-skin-line)!important;
  background:color-mix(in srgb,var(--game-skin-panel) 94%,transparent)!important;
  box-shadow:0 12px 34px #000b,inset 0 0 0 1px #ffffff08!important;
}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-action-dock button{
  border-right-color:var(--game-skin-line-soft)!important;
  color:var(--game-skin-muted)!important;
  background:linear-gradient(var(--game-skin-panel-2),var(--game-skin-panel))!important;
}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-action-dock button:hover{color:var(--game-skin-text)!important;background:color-mix(in srgb,var(--game-skin-accent) 18%,var(--game-skin-panel))!important}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page .game-action-dock span{color:var(--game-skin-accent)!important}

html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page :is(.roll-button,.battle-button,.decline-button,.arena-targets button,.build-menu button,.decision-choice button,.game-pause-card button,.game-error-card button){
  border-color:var(--game-skin-line)!important;
  color:var(--game-skin-text)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--game-skin-accent) 18%,var(--game-skin-panel-2)),var(--game-skin-panel))!important;
  box-shadow:inset 0 1px #ffffff0b,0 7px 17px #0007!important;
}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page :is(.roll-button,.battle-button,.arena-targets button,.build-menu button,.decision-choice button):hover:not(:disabled){border-color:var(--game-skin-accent)!important;filter:brightness(1.12)}
html:is([data-home-theme="mrak"],[data-home-theme="worlds"]) .game-page :is(.game-pause-card,.game-error-card,.password-modal){border-color:var(--game-skin-line)!important;color:var(--game-skin-text)!important;background:linear-gradient(145deg,var(--game-skin-panel-2),var(--game-skin-panel))!important}

/* Мрак — острые углы и красный сигнал; Миры — мягче и технологичнее. */
html[data-home-theme="mrak"] .game-page :is(.game-menu-button,.turn-indicator,.table-player-card,.game-log-panel,.economy-panel,.communication-panel,.game-action-dock,.test-console){border-radius:1px!important}
html[data-home-theme="worlds"] .game-page :is(.game-menu-button,.turn-indicator,.table-player-card,.game-log-panel,.economy-panel,.communication-panel,.game-action-dock,.test-console){border-radius:9px!important}
