/*
 * EU Ruins — complete Isle interface system
 *
 * This layer is loaded after every page-local stylesheet in Isle mode. It
 * gives the full site the same compact, high-effort visual language used by
 * Crash and the Account Hub stat loadout without changing page behaviour.
 */

html[data-game="isle"] {
  color-scheme:dark;
  --ip-accent:var(--isle-accent,var(--accent-primary,var(--red,var(--cyan,#38bdf8))));
  --ip-accent-2:var(--isle-secondary,var(--accent-secondary,var(--purple,var(--mint,#34d399))));
  --ip-bg:var(--bg,var(--bg-primary,#030a10));
  --ip-bg-2:var(--bg2,var(--bg-secondary,#06131c));
  --ip-surface:var(--card,var(--bg-card,var(--panel,#081722)));
  --ip-surface-2:var(--card2,var(--bg-card-hover,var(--panel2,#0d2230)));
  --ip-text:var(--txt,var(--text,var(--text-primary,#f5fbff)));
  --ip-text-2:var(--txt2,var(--text2,var(--text-secondary,#b7d5e4)));
  --ip-muted:var(--muted,var(--text-muted,#7898a8));
  --ip-line:var(--bdr,var(--border,var(--border-color,var(--line,#183246))));
  --ip-line-2:var(--bdr2,var(--border2,var(--border-light,var(--line2,#29516b))));
  --ip-soft:color-mix(in srgb,var(--ip-accent) 10%,transparent);
  --ip-soft-2:color-mix(in srgb,var(--ip-accent) 18%,transparent);
  --ip-glow:color-mix(in srgb,var(--ip-accent) 28%,transparent);
  --ip-panel:linear-gradient(145deg,color-mix(in srgb,var(--ip-surface-2) 68%,transparent),color-mix(in srgb,var(--ip-surface) 96%,transparent));
  --ip-panel-soft:linear-gradient(145deg,color-mix(in srgb,var(--ip-accent) 6%,var(--ip-surface)),color-mix(in srgb,var(--ip-surface) 96%,transparent));
  --ip-font-head:"Rajdhani","Orbitron",sans-serif;
  --ip-font-body:"Inter","Segoe UI",sans-serif;
  --ip-radius:14px;
  --ip-radius-sm:9px;
  --ip-shadow:0 18px 52px rgba(0,0,0,.28);
  --ip-shadow-hover:0 22px 62px rgba(0,0,0,.38),0 0 28px var(--ip-soft);
}

html[data-game="isle"] body {
  color:var(--ip-text)!important;
  font-family:var(--ip-font-body)!important;
  background:
    radial-gradient(920px 520px at 82% -10%,color-mix(in srgb,var(--ip-accent) 14%,transparent),transparent 64%),
    radial-gradient(760px 520px at -5% 22%,color-mix(in srgb,var(--ip-accent-2) 7%,transparent),transparent 66%),
    linear-gradient(color-mix(in srgb,var(--ip-text) 2.4%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--ip-text) 2.4%,transparent) 1px,transparent 1px),
    linear-gradient(180deg,var(--ip-bg),var(--ip-bg-2))!important;
  background-size:auto,auto,64px 64px,64px 64px,auto!important;
  background-attachment:fixed!important;
}

html[data-game="isle"] body,
html[data-game="isle"] button,
html[data-game="isle"] input,
html[data-game="isle"] select,
html[data-game="isle"] textarea { font-family:var(--ip-font-body); }

html[data-game="isle"] :is(h1,h2,h3,.title,.page-title,.hero-title,.panel-title,.game h2,.card-title,.logo,.logo-text,.brand) {
  font-family:var(--ip-font-head)!important;
  font-weight:800!important;
}
html[data-game="isle"] :is(h1,.title,.page-title,.hero-title) {
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  text-wrap:balance;
}
html[data-game="isle"] :is(.subtitle,.page-subtitle,.sub,.lead,.panel-note,.section-note,.card-desc) {
  color:var(--ip-text-2)!important;
}

/* Header and account controls */
html[data-game="isle"] :is(.header,.topbar) {
  background:color-mix(in srgb,var(--ip-bg) 93%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--ip-accent) 26%,var(--ip-line))!important;
  box-shadow:0 12px 36px rgba(0,0,0,.26)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
}
html[data-game="isle"] :is(.logo span,.logo-text span,.brand span) { color:var(--ip-accent)!important; }
html[data-game="isle"] :is(.site-nav-link,.nav-link,.nl,.toplinks a) {
  color:var(--ip-text-2)!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
  transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease!important;
}
html[data-game="isle"] :is(.site-nav-link,.nav-link,.nl,.toplinks a):hover {
  color:var(--ip-text)!important;
  border-color:color-mix(in srgb,var(--ip-accent) 28%,transparent)!important;
  background:var(--ip-soft)!important;
  transform:translateY(-1px);
}
html[data-game="isle"] :is(.site-nav-link,.nav-link,.nl).active {
  color:var(--ip-accent)!important;
  border-color:color-mix(in srgb,var(--ip-accent) 42%,transparent)!important;
  background:color-mix(in srgb,var(--ip-accent) 13%,transparent)!important;
  box-shadow:0 0 22px var(--ip-soft)!important;
}
html[data-game="isle"] .nav-link.admin-link {
  color:var(--ip-accent)!important;
  border-color:color-mix(in srgb,var(--ip-accent) 38%,transparent)!important;
  background:color-mix(in srgb,var(--ip-accent) 12%,transparent)!important;
  box-shadow:0 0 20px var(--ip-soft)!important;
}
html[data-game="isle"] .site-profile-chip {
  border-radius:11px!important;
  border-color:color-mix(in srgb,var(--ip-accent) 36%,var(--ip-line))!important;
  background:linear-gradient(145deg,var(--ip-soft),color-mix(in srgb,var(--ip-bg) 94%,transparent))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 30px rgba(0,0,0,.24)!important;
}
html[data-game="isle"] .site-profile-menu {
  border-color:color-mix(in srgb,var(--ip-accent) 36%,var(--ip-line))!important;
  background:linear-gradient(155deg,var(--ip-surface-2),var(--ip-bg-2))!important;
  box-shadow:var(--ip-shadow)!important;
}

/* Page rhythm and section hierarchy */
html[data-game="isle"] :is(.main,.main-content,.page-content,main) { position:relative; }
html[data-game="isle"] :is(.page-header,.page-top,.hero,.page-head) { position:relative; }
html[data-game="isle"] :is(.eyebrow,.featured-eyebrow,.section-divider,.section-title,.games-title,.panel-label) {
  color:var(--ip-accent)!important;
  font-family:var(--ip-font-body)!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
html[data-game="isle"] :is(.section-head,.panel-head,.card-header,.checkout-head,.dialog-head,.modal-head,.history-toolbar) {
  border-color:var(--ip-line)!important;
}

/* High-effort surface system */
html[data-game="isle"] :is(
  .panel,.admin-card,.status-card,.stat-card,.wallet-card,.game-card,.game,.info-card,
  .quick-card,.rule-card,.tool-card,.connect-panel,.support-card,.patreon-copy,
  .tier-overview,.tier-card,.skin-studio,.skin-locked,.leaderboard,.isle-rank-card,
  .reward-panel,.map-card,.map-shell,.shop-card,.wallet-panel,.hero-card,
  .feature-banner,.form-card,.checkout,.trade-column,.security-block,.security-section,
  .user-manage-panel,.mod-panel,.ump-block,.gift-role-card,.gate
) {
  position:relative;
  border:1px solid var(--ip-line)!important;
  border-radius:var(--ip-radius)!important;
  background:var(--ip-panel)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),var(--ip-shadow)!important;
}
html[data-game="isle"] :is(
  .panel,.admin-card,.wallet-card,.game-card,.game,.info-card,.quick-card,.rule-card,
  .tool-card,.shop-card,.isle-rank-card,.tier-card,.dino-card,.skin-card
) { transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important; }
html[data-game="isle"] :is(
  .admin-card,.wallet-card,.game-card,.game,.info-card,.quick-card,.rule-card,
  .tool-card,.shop-card,.isle-rank-card,.tier-card
):hover {
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--ip-accent) 42%,var(--ip-line))!important;
  box-shadow:var(--ip-shadow-hover)!important;
}
html[data-game="isle"] :is(.panel-head,.map-head,.checkout-head,.dialog-head,.modal-head,.admin-tabs,.scope-switch,.chat-bar) {
  background:linear-gradient(90deg,color-mix(in srgb,var(--ip-accent) 7%,transparent),color-mix(in srgb,var(--ip-surface-2) 78%,transparent))!important;
  border-color:var(--ip-line)!important;
}
html[data-game="isle"] :is(.panel-title,.card-title,.section-title,.games-title,.history-title,.chat-bar-title) {
  color:var(--ip-text)!important;
}

/* Compact nested records */
html[data-game="isle"] :is(
  .row,.history-row,.log-item,.winner-item,.reward-tier,.result-item,.wanted-row,
  .claim-row,.my-bounty-row,.holding-row,.stock-row,.trade-row,.event-item,.deposit-item,
  .item,.list-empty,.empty,.empty-state,.mod-list-item,.mod-msg,.chatter-item,.qa-row,
  .ump-row,.preset-row,.colour-card,.option-field,.skin-mode,.skin-card,.dino-choice,
  .friend-tool-person,.mutation-row,.mutation-slot,.check-card,.criterion,.dino-life,
  .price-box,.variant,.pick,.number-card,.result-box,.balance-bar,.pool-display
) {
  border-color:var(--ip-line)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--ip-surface-2) 70%,transparent),color-mix(in srgb,var(--ip-bg-2) 94%,transparent))!important;
  border-radius:var(--ip-radius-sm)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html[data-game="isle"] :is(.meta,.history-meta,.card-desc,.desc,.copy,.panel-note,.status-copy,.option-note,.skin-note,.reward-help) {
  color:var(--ip-muted)!important;
}

/* Forms */
html[data-game="isle"] body :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  textarea,select,.input,.chat-input,.bet-input
) {
  color:var(--ip-text)!important;
  background:color-mix(in srgb,var(--ip-bg-2) 94%,transparent)!important;
  border:1px solid var(--ip-line-2)!important;
  border-radius:8px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  outline:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
html[data-game="isle"] body :is(input,textarea,select,.input,.chat-input,.bet-input):focus {
  border-color:var(--ip-accent)!important;
  box-shadow:0 0 0 3px var(--ip-soft-2),inset 0 1px 0 rgba(255,255,255,.04)!important;
  background:color-mix(in srgb,var(--ip-accent) 5%,var(--ip-bg-2))!important;
}
html[data-game="isle"] body ::placeholder { color:color-mix(in srgb,var(--ip-muted) 82%,transparent)!important; }
html[data-game="isle"] :is(input[type="checkbox"],input[type="radio"],input[type="range"]) { accent-color:var(--ip-accent)!important; }
html[data-game="isle"] :is(.field label,.bet-label,.lbl,.stat-label,.status-label,.mini-label) {
  color:var(--ip-muted)!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}

/* Buttons and interactive states */
html[data-game="isle"] body :is(
  button,.btn,.button,.hub-action,.skin-button,.action-btn,.abtn,.ab,.flip-btn,
  .side-btn,.chat-send-btn,.map-btn,.scope-btn,.tab-btn,.filter-btn,.admin-tab,.mod-tab
) {
  border:1px solid var(--ip-line-2)!important;
  border-radius:8px!important;
  color:var(--ip-text-2)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ip-surface-2) 94%,white 2%),var(--ip-surface-2))!important;
  font-family:var(--ip-font-body)!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
  transition:transform .15s ease,border-color .15s ease,color .15s ease,background .15s ease,box-shadow .15s ease!important;
}
html[data-game="isle"] body :is(
  button,.btn,.button,.hub-action,.skin-button,.action-btn,.abtn,.ab,.flip-btn,
  .side-btn,.chat-send-btn,.map-btn,.scope-btn,.tab-btn,.filter-btn,.admin-tab,.mod-tab
):hover:not(:disabled) {
  color:var(--ip-text)!important;
  border-color:color-mix(in srgb,var(--ip-accent) 52%,var(--ip-line))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ip-accent) 13%,var(--ip-surface-2)),var(--ip-surface-2))!important;
  box-shadow:0 8px 22px var(--ip-soft)!important;
  transform:translateY(-2px);
}
html[data-game="isle"] body :is(
  .primary,.btn-primary,.button.primary,.hub-action,.chat-send-btn,.flip-btn,.spin-btn,
  .crate-btn,.btn-start,.btn-cashout,.skin-button.primary,.dossier-btn-primary
) {
  color:#fff!important;
  border-color:var(--ip-accent)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ip-accent) 88%,white 4%),color-mix(in srgb,var(--ip-accent) 62%,var(--ip-bg)))!important;
  box-shadow:0 8px 24px var(--ip-soft),inset 0 1px 0 rgba(255,255,255,.17)!important;
}
html[data-game="isle"] body :is(.danger,.btn-danger,.button.danger,.mod-msg-del,.mod-unban-btn,.mod-unmute-btn) {
  color:#fda4af!important;
  border-color:rgba(251,113,133,.42)!important;
  background:rgba(127,29,29,.22)!important;
  box-shadow:none!important;
}
html[data-game="isle"] body :is(.warning,.btn-warning) {
  color:#fde68a!important;
  border-color:rgba(250,204,21,.4)!important;
  background:rgba(113,63,18,.23)!important;
}
html[data-game="isle"] body :is(button,.btn,.button):disabled { opacity:.44!important;transform:none!important;box-shadow:none!important;cursor:not-allowed!important; }

/* Tabs, filters, segmented controls */
html[data-game="isle"] :is(
  .tabs,.hub-tabs,.friend-subtabs,.admin-tabs,.mod-tabs,.slot-tabs,.section-tabs,
  .scope-switch,.filter-row,.bet-quick,.action-row,.side-select
) {
  border-color:var(--ip-line)!important;
}
html[data-game="isle"] :is(
  .tab,.hub-tab,.friend-subtab,.admin-tab,.mod-tab,.slot-tab,.section-tab,
  .scope-btn,.tab-btn,.filter-btn,.bq,.side-btn
).active,
html[data-game="isle"] :is(.tab,.hub-tab,.friend-subtab,.admin-tab,.mod-tab,.slot-tab,.section-tab)[aria-selected="true"],
html[data-game="isle"] .side-btn.selected {
  color:#fff!important;
  border-color:var(--ip-accent)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ip-accent) 86%,white 4%),color-mix(in srgb,var(--ip-accent) 58%,var(--ip-bg)))!important;
  box-shadow:0 8px 24px var(--ip-glow),inset 0 1px 0 rgba(255,255,255,.14)!important;
  transform:translateY(-1px);
}

/* Tables, leaderboards, and dense admin data */
html[data-game="isle"] :is(table,.leaderboard,.mod-list,.user-manage-panel) {
  border-color:var(--ip-line)!important;
  background:color-mix(in srgb,var(--ip-surface) 94%,transparent)!important;
}
html[data-game="isle"] :is(thead,.leaderboard thead) {
  color:var(--ip-accent)!important;
  background:color-mix(in srgb,var(--ip-bg-2) 96%,transparent)!important;
  border-color:var(--ip-line)!important;
}
html[data-game="isle"] :is(th,.leaderboard th) {
  color:var(--ip-accent)!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
html[data-game="isle"] :is(td,tbody tr) { border-color:color-mix(in srgb,var(--ip-line) 82%,transparent)!important; }
html[data-game="isle"] tbody tr:hover { background:color-mix(in srgb,var(--ip-accent) 6%,var(--ip-surface))!important; }

/* Badges, chips, and lightweight metadata */
html[data-game="isle"] :is(.pill,.tag,.badge,.chip,.status,.status-pill,.h-pill,.source-pill,.you-badge,.expiry-badge,.owner-pill,.role-badge) {
  border:1px solid color-mix(in srgb,var(--ip-accent) 28%,var(--ip-line))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--ip-accent) 8%,var(--ip-surface-2))!important;
  color:var(--ip-text-2)!important;
  font-weight:850!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
html[data-game="isle"] :is(.live,.online,.positive,.ok,.success) { color:var(--ok,#34d399)!important; }
html[data-game="isle"] :is(.bad,.negative,.error,.failed,.banned) { color:#fb7185!important; }

/* Dialogs, overlays, and notifications */
html[data-game="isle"] :is(dialog,.modal,.modal-card,.modal-panel,.redeem-dialog,.dino-action-dialog,.player-profile-dialog,.isle-crate-modal-panel) {
  color:var(--ip-text)!important;
  border:1px solid color-mix(in srgb,var(--ip-accent) 34%,var(--ip-line))!important;
  border-radius:16px!important;
  background:linear-gradient(155deg,var(--ip-surface-2),var(--ip-bg-2))!important;
  box-shadow:0 36px 110px rgba(0,0,0,.72),0 0 0 1px var(--ip-soft) inset!important;
}
html[data-game="isle"] :is(dialog,.redeem-dialog,.dino-action-dialog,.player-profile-dialog)::backdrop,
html[data-game="isle"] :is(.modal-overlay,.isle-crate-modal-backdrop) {
  background:color-mix(in srgb,var(--ip-bg) 76%,transparent)!important;
  backdrop-filter:blur(10px) saturate(80%)!important;
}
html[data-game="isle"] .toast {
  color:var(--ip-text)!important;
  border:1px solid var(--ip-line-2)!important;
  border-left:4px solid var(--ip-accent)!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,var(--ip-surface-2),var(--ip-bg-2))!important;
  box-shadow:var(--ip-shadow)!important;
}

/* Account Hub — extend the stat-loadout quality to every tab. */
html[data-game="isle"][data-page="account-hub"] .wrap { max-width:1460px!important; }
html[data-game="isle"][data-page="account-hub"] .tab-rail {
  padding:10px!important;
  border:1px solid var(--ip-line)!important;
  border-radius:14px!important;
  background:linear-gradient(155deg,var(--ip-surface),var(--ip-bg-2))!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="account-hub"] .tab-rail button {
  justify-content:flex-start!important;
  min-height:44px!important;
  border-color:transparent!important;
  background:transparent!important;
}
html[data-game="isle"][data-page="account-hub"] .tab-rail button.active {
  color:#fff!important;
  border-color:color-mix(in srgb,var(--ip-accent) 44%,transparent)!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--ip-accent) 28%,transparent),var(--ip-soft))!important;
  box-shadow:inset 3px 0 var(--ip-accent),0 8px 20px rgba(0,0,0,.2)!important;
}
html[data-game="isle"][data-page="account-hub"] .hub {
  border:1px solid var(--ip-line)!important;
  border-radius:16px!important;
  background:linear-gradient(155deg,color-mix(in srgb,var(--ip-surface) 96%,transparent),color-mix(in srgb,var(--ip-bg-2) 96%,transparent))!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="account-hub"] :is(.history-row,.dino-life,.security-block,.stats-section) {
  overflow:hidden;
  border-color:var(--ip-line)!important;
  background:var(--ip-panel-soft)!important;
}
html[data-game="isle"][data-page="account-hub"] .history-row { padding:14px 16px!important; }
html[data-game="isle"][data-page="account-hub"] .history-row::before {
  content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--ip-accent);opacity:.42;
}
html[data-game="isle"][data-page="account-hub"] .stat-card {
  min-height:112px!important;
  padding:17px!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--ip-surface-2) 82%,transparent),color-mix(in srgb,var(--ip-surface) 94%,transparent))!important;
}
html[data-game="isle"][data-page="account-hub"] .stat-value { color:var(--ip-text)!important;font-family:var(--ip-font-head)!important;font-weight:800!important; }
html[data-game="isle"][data-page="account-hub"] :is(.profile-form,.featured-stats-builder,.stats-section) {
  border-color:color-mix(in srgb,var(--ip-accent) 32%,var(--ip-line))!important;
  background:
    linear-gradient(color-mix(in srgb,var(--ip-accent) 6%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--ip-accent) 6%,transparent) 1px,transparent 1px),
    color-mix(in srgb,var(--ip-surface) 92%,transparent)!important;
  background-size:34px 34px,34px 34px,auto!important;
}

/* Dino Hub */
html[data-game="isle"][data-page="player"] .wrap { max-width:1460px!important; }
html[data-game="isle"][data-page="player"] .hub-tabs {
  gap:9px!important;
  padding:7px!important;
  border:1px solid var(--ip-line)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--ip-surface) 90%,transparent)!important;
  width:max-content;max-width:100%;
}
html[data-game="isle"][data-page="player"] .panel { overflow:hidden!important; }
html[data-game="isle"][data-page="player"] .panel-head { padding:20px 22px!important; }
html[data-game="isle"][data-page="player"] .dino-card {
  border-radius:13px!important;
  border-color:var(--ip-line)!important;
  background:linear-gradient(155deg,color-mix(in srgb,var(--ip-surface-2) 90%,transparent),var(--ip-bg-2))!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="player"] .dino-card:hover { border-color:color-mix(in srgb,var(--ip-accent) 48%,var(--ip-line))!important;box-shadow:var(--ip-shadow-hover)!important; }
html[data-game="isle"][data-page="player"] :is(.dino-card-stat,.dino-card-diet,.dino-card-diet-slots span) {
  border-color:var(--ip-line)!important;
  background:color-mix(in srgb,var(--ip-surface-2) 72%,transparent)!important;
}
html[data-game="isle"][data-page="player"] #isleFriendsList .row {
  border-color:var(--ip-line)!important;
  background:linear-gradient(90deg,var(--ip-soft),color-mix(in srgb,var(--ip-bg-2) 94%,transparent))!important;
}
html[data-game="isle"][data-page="player"] :is(.registry-topbar,#isleFriendsList .row::before) {
  color:var(--ip-muted)!important;border-color:var(--ip-line)!important;background:color-mix(in srgb,var(--ip-bg) 58%,transparent)!important;
}
html[data-game="isle"][data-page="player"] :is(.dino-card-badge,.skin-card-badge,.live-dino-portrait,.player-profile-close) {
  color:var(--ip-text-2)!important;
  border-color:var(--ip-line-2)!important;
  background:color-mix(in srgb,var(--ip-bg) 82%,transparent)!important;
}
html[data-game="isle"][data-page="player"] :is(.live-dino-hero,.dino-choice) {
  background:linear-gradient(145deg,var(--ip-soft),color-mix(in srgb,var(--ip-surface) 94%,transparent))!important;
}
html[data-game="isle"][data-page="player"] :is(.live-dino-id:hover,.live-dino-id:focus-visible) {
  color:var(--ip-accent)!important;border-color:var(--ip-accent)!important;
}

/* Fossil Games directory and every game table */
html[data-game="isle"][data-page="casino"] .main { max-width:1420px!important; }
html[data-game="isle"][data-page="casino"] .game {
  min-height:290px!important;
  overflow:hidden!important;
  padding:24px!important;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--ip-accent) 5%,transparent),transparent 50%),
    var(--ip-panel)!important;
}
html[data-game="isle"] body.casino-polished :is(.game,.game-card)::after {
  content:""!important;
  position:absolute!important;
  inset:0 0 auto auto!important;
  width:30%!important;
  height:3px!important;
  border-radius:0 0 0 999px!important;
  color:transparent!important;
  background:linear-gradient(90deg,transparent,var(--ip-accent-2),var(--ip-accent))!important;
  opacity:.72!important;
  transform:none!important;
  transform-origin:right center!important;
  transition:width .28s ease,opacity .28s ease!important;
  pointer-events:none!important;
}
html[data-game="isle"] body.casino-polished :is(.game,.game-card):hover::after {
  width:58%!important;
  opacity:1!important;
  transform:none!important;
}
html[data-game="isle"][data-page="casino"] .game h2 { color:color-mix(in srgb,var(--ip-accent) 62%,white)!important; }
html[data-game="isle"] body.casino-polished :is(.panel,.table,.balance-bar,.result-box,.spinner-wrap,.pool-display,.chart-wrap,.number-card) {
  border-color:var(--ip-line)!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"] body.casino-polished :is(.bet-section,.input-row,.action-row,.history,.players,.odds-bar,.streak-bar,.events-bar) {
  border-color:var(--ip-line)!important;
  background:color-mix(in srgb,var(--ip-surface) 84%,transparent)!important;
}
html[data-game="isle"] body.casino-polished .balance-bar {
  border-color:color-mix(in srgb,var(--ip-accent) 34%,var(--ip-line))!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--ip-accent) 10%,var(--ip-surface)),var(--ip-surface))!important;
}
html[data-game="isle"] body.casino-polished :is(
  .hand,.coin-wrap,.pie-wrap,.crash-canvas,.spinner-window,.results-dropdown,
  .result-msg,.wanted-row,.claim-row,.my-bounty-row,.history-item,.deposit-item
) {
  border-color:var(--ip-line)!important;
  background:
    linear-gradient(145deg,var(--ip-soft),color-mix(in srgb,var(--ip-surface) 94%,transparent))!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ip-accent) 10%,transparent)!important;
}
html[data-game="isle"] body.casino-polished :is(.coin,.number-card,.spinner-window,.crash-canvas,.chart-wrap) {
  filter:drop-shadow(0 14px 24px color-mix(in srgb,var(--ip-bg) 62%,transparent));
}
html[data-game="isle"] body.casino-polished :is(.result-msg,.status,.message)[class*="win"],
html[data-game="isle"] body.casino-polished :is(.result-msg,.status,.message).success {
  border-color:color-mix(in srgb,var(--ip-success) 52%,var(--ip-line))!important;
  background:color-mix(in srgb,var(--ip-success) 10%,var(--ip-surface))!important;
}

/* Isle crates and wheel presentation */
html[data-game="isle"][data-page="crates"] :is(
  .isle-crate-panel,.isle-crate-card,.isle-crate-modal-panel,.isle-wheel-stage,
  .spinner-wrap,.result-box,.odds,.odds-row,.isle-crate-summary,.isle-crate-result
) {
  border-color:color-mix(in srgb,var(--ip-accent) 30%,var(--ip-line))!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="crates"] .isle-crate-card {
  overflow:hidden!important;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--ip-accent) 12%,transparent),transparent 46%),
    var(--ip-panel)!important;
}
html[data-game="isle"][data-page="crates"] .wrap { max-width:1480px!important; }
html[data-game="isle"][data-page="crates"] .isle-crate-panel { padding:24px!important; }
html[data-game="isle"][data-page="crates"] .isle-crate-grid {
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
html[data-game="isle"][data-page="crates"] .isle-crate-summary {
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html[data-game="isle"][data-page="crates"] .isle-crate-summary-btn {
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html[data-game="isle"][data-page="crates"] .isle-crate-card {
  min-height:0!important;
  aspect-ratio:1/1;
  padding:17px!important;
}
html[data-game="isle"][data-page="crates"] :is(.isle-crate-open,.isle-wheel-continue) {
  color:#fff!important;border-color:var(--ip-accent)!important;
  background:linear-gradient(135deg,var(--ip-accent),color-mix(in srgb,var(--ip-accent) 58%,var(--ip-bg)))!important;
  box-shadow:0 8px 24px var(--ip-glow)!important;
}
html[data-game="isle"][data-page="crates"] :is(.isle-spinner-window,.isle-spinner-track,.isle-spin-item) {
  border-color:var(--ip-line)!important;
  background:color-mix(in srgb,var(--ip-bg-2) 92%,transparent)!important;
}
html[data-game="isle"][data-page="crates"] :is(.isle-spinner-indicator,.isle-cat-bar-fill) {
  background:linear-gradient(180deg,var(--ip-accent),var(--ip-accent-2))!important;
  box-shadow:0 0 18px var(--ip-glow)!important;
}
html[data-game="isle"][data-page="crates"] .isle-spinner-indicator::before { border-top-color:var(--ip-accent)!important; }
html[data-game="isle"][data-page="crates"] .isle-spinner-indicator::after { border-bottom-color:var(--ip-accent)!important; }

/* Leaderboard */
html[data-game="isle"][data-page="leaderboard"] .container { max-width:1440px!important; }
html[data-game="isle"][data-page="leaderboard"] .reward-tiers { gap:10px!important; }
html[data-game="isle"][data-page="leaderboard"] .reward-tier {
  border-left:3px solid var(--ip-accent)!important;
  background:linear-gradient(135deg,var(--ip-soft),color-mix(in srgb,var(--ip-surface) 94%,transparent))!important;
}
html[data-game="isle"][data-page="leaderboard"] .isle-rank-card {
  min-height:128px;padding:18px!important;
  background:var(--ip-panel-soft)!important;
}
html[data-game="isle"][data-page="leaderboard"] .leaderboard { overflow:hidden!important;border-radius:14px!important; }
html[data-game="isle"][data-page="leaderboard"] .player-avatar {
  border:1px solid var(--ip-line-2)!important;
  background:color-mix(in srgb,var(--ip-accent) 12%,var(--ip-surface-2))!important;
}

/* Marketplace and Dino Shop */
html[data-game="isle"] :is([data-page="isle-marketplace"],[data-page="isle-dino-shop"]) :is(.panel,.feature-banner) { overflow:hidden!important; }
html[data-game="isle"][data-page="isle-marketplace"] :is(.dino-card,.pick,.form-card),
html[data-game="isle"][data-page="isle-dino-shop"] :is(.card,.promise>div,.variant,.price-box) {
  border:1px solid var(--ip-line)!important;
  border-radius:12px!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"] :is([data-page="isle-marketplace"],[data-page="isle-dino-shop"]) :is(.dino-top,.card-top) {
  border-color:var(--ip-line)!important;
  background:linear-gradient(135deg,var(--ip-soft),color-mix(in srgb,var(--ip-accent-2) 5%,transparent))!important;
}
html[data-game="isle"] :is([data-page="isle-marketplace"],[data-page="isle-dino-shop"]) :is(.dino-card,.card):hover {
  transform:translateY(-3px);border-color:color-mix(in srgb,var(--ip-accent) 48%,var(--ip-line))!important;box-shadow:var(--ip-shadow-hover)!important;
}
html[data-game="isle"][data-page="isle-marketplace"] .rule {
  border-color:var(--ip-line)!important;
  background:linear-gradient(145deg,var(--ip-soft),color-mix(in srgb,var(--ip-surface) 94%,transparent))!important;
}

/* Patreon skin studio */
html[data-game="isle"][data-page="isle-patreon"] .patreon-page { max-width:1420px!important; }
html[data-game="isle"][data-page="isle-patreon"] :is(.patreon-copy,.support-card,.tier-overview,.skin-studio,.skin-locked) {
  border-color:color-mix(in srgb,var(--ip-accent) 28%,var(--ip-line))!important;
  background:var(--ip-panel)!important;
}
html[data-game="isle"][data-page="isle-patreon"] .colour-card {
  padding:14px!important;
  border-color:var(--ip-line)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--ip-accent) 5%,var(--ip-surface)),var(--ip-surface))!important;
}
html[data-game="isle"][data-page="isle-patreon"] input[type="range"] { box-shadow:0 0 0 1px var(--ip-line),0 6px 16px rgba(0,0,0,.2)!important; }

/* Interactive map — chrome only; map imagery stays untouched. */
html[data-game="isle"][data-page="isle-map"] :is(.map-head,.map-layer-controls,.panel-block,.status-card) {
  border-color:color-mix(in srgb,var(--ip-accent) 30%,var(--ip-line))!important;
  background:linear-gradient(155deg,color-mix(in srgb,var(--ip-surface-2) 94%,transparent),color-mix(in srgb,var(--ip-bg-2) 96%,transparent))!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="isle-map"] .map-shell { border-color:color-mix(in srgb,var(--ip-accent) 34%,var(--ip-line))!important; }
html[data-game="isle"][data-page="isle-map"] .toggle:has(input:checked) {
  color:#fff!important;border-color:var(--ip-accent)!important;background:var(--ip-soft-2)!important;box-shadow:0 0 18px var(--ip-soft)!important;
}
html[data-game="isle"][data-page="isle-map"] :is(.coord-box,.survival-note,.pill,.leaflet-control-zoom a) {
  color:var(--ip-text-2)!important;
  border-color:color-mix(in srgb,var(--ip-accent) 30%,var(--ip-line))!important;
  background:color-mix(in srgb,var(--ip-accent) 7%,var(--ip-surface))!important;
}

/* Chat */
html[data-game="isle"][data-page="chat"] .chat-box {
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--ip-accent) 28%,var(--ip-line))!important;
  border-radius:16px!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="chat"] .chat-messages { background:color-mix(in srgb,var(--ip-bg-2) 72%,transparent)!important; }
html[data-game="isle"][data-page="chat"] :is(.page-header-badge,.chat-bar-icon,.msg-role-tag.owner) {
  color:var(--ip-accent)!important;
  border-color:color-mix(in srgb,var(--ip-accent) 34%,var(--ip-line))!important;
  background:color-mix(in srgb,var(--ip-accent) 11%,var(--ip-surface-2))!important;
}
html[data-game="isle"][data-page="chat"] .chat-messages::after {
  background:
    radial-gradient(ellipse at 20% 30%,color-mix(in srgb,var(--ip-accent) 6%,transparent),transparent 50%),
    radial-gradient(ellipse at 80% 70%,color-mix(in srgb,var(--ip-accent-2) 4%,transparent),transparent 50%),
    radial-gradient(ellipse at 50% 90%,color-mix(in srgb,var(--ip-accent) 5%,transparent),transparent 40%)!important;
}
html[data-game="isle"][data-page="chat"] .msg-body {
  border:1px solid transparent;border-radius:10px;padding:9px 11px!important;transition:border-color .16s ease,background .16s ease;
}
html[data-game="isle"][data-page="chat"] .msg-body:hover { border-color:var(--ip-line)!important;background:color-mix(in srgb,var(--ip-accent) 5%,var(--ip-surface))!important; }
html[data-game="isle"][data-page="chat"] .chat-input-area { border-color:var(--ip-line)!important;background:color-mix(in srgb,var(--ip-surface) 94%,transparent)!important; }

/* Admin — every panel, moderation record, form, and modal. */
html[data-game="isle"][data-page="admin"] .container { max-width:1460px!important; }
html[data-game="isle"][data-page="admin"] .admin-tabs {
  top:calc(var(--header-height,70px) + 10px)!important;
  padding:9px!important;
  border-color:color-mix(in srgb,var(--ip-accent) 26%,var(--ip-line))!important;
  background:color-mix(in srgb,var(--ip-bg) 86%,transparent)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="admin"] .admin-grid { gap:14px!important; }
html[data-game="isle"][data-page="admin"] .admin-card {
  min-height:190px!important;
  padding:20px!important;
  overflow:hidden!important;
}
html[data-game="isle"][data-page="admin"] .admin-card::before { opacity:.8!important;height:3px!important;background:linear-gradient(90deg,var(--ip-accent),var(--ip-accent-2))!important; }
html[data-game="isle"][data-page="admin"] :is(.page-header-badge,.admin-tab.active,.mod-tab.active) {
  color:var(--ip-text)!important;
  border-color:color-mix(in srgb,var(--ip-accent) 44%,var(--ip-line))!important;
  background:color-mix(in srgb,var(--ip-accent) 14%,var(--ip-surface-2))!important;
  box-shadow:0 0 24px var(--ip-soft)!important;
}
html[data-game="isle"][data-page="admin"] :is(.mod-panel,.user-manage-panel,.ump-block,.gift-role-card) {
  overflow:hidden!important;
  border-color:var(--ip-line)!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="admin"] :is(.mod-list-item,.chatter-item,.mod-msg,.ump-row,.qa-row) {
  padding:12px!important;
  border-color:var(--ip-line)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--ip-accent) 4%,var(--ip-surface)),var(--ip-surface))!important;
}
html[data-game="isle"][data-page="admin"] :is(.mod-profile-avatar,.chatter-avatar,.card-icon) {
  border:1px solid var(--ip-line-2)!important;
  background:color-mix(in srgb,var(--ip-accent) 10%,var(--ip-surface-2))!important;
}
html[data-game="isle"][data-page="admin"] :is(.mod-stat-pill,.user-wallet-pill,.ump-balance) {
  border-color:var(--ip-line)!important;
  background:color-mix(in srgb,var(--ip-accent) 7%,var(--ip-surface-2))!important;
}
html[data-game="isle"][data-page="admin"] .modal-overlay { background:color-mix(in srgb,var(--ip-bg) 78%,transparent)!important;backdrop-filter:blur(10px)!important; }

/* Isle crate creator (previously independent from the shared site). */
html[data-game="isle"][data-page="create"] .choices { gap:16px!important; }
html[data-game="isle"][data-page="create"] .choice {
  border-color:var(--ip-line)!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="create"] .choice:hover,
html[data-game="isle"][data-page="create"] .choice:focus-visible {
  border-color:color-mix(in srgb,var(--ip-accent) 54%,var(--ip-line))!important;
  box-shadow:var(--ip-shadow-hover)!important;
}
html[data-game="isle"][data-page="create"] .choice.isle {
  --accent:var(--ip-accent);--wash:color-mix(in srgb,var(--ip-accent) 28%,transparent);
}
html[data-game="isle"][data-page="create"] .home { color:var(--ip-text-2)!important; }

html[data-game="isle"][data-page="isle-crate-builder"] {
  --panel:var(--ip-surface);--panel2:var(--ip-surface-2);--line:var(--ip-line);--line2:var(--ip-line-2);--cyan:var(--ip-accent);--mint:var(--ok,#34d399);--text:var(--ip-text);--muted:var(--ip-muted);
}
html[data-game="isle"][data-page="isle-crate-builder"] :is(.panel,.item,.reward-row,.list-empty) {
  border-color:var(--ip-line)!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="isle-crate-builder"] .panel-head { background:linear-gradient(90deg,var(--ip-soft),transparent)!important; }
html[data-game="isle"][data-page="isle-crate-builder"] .btn:not(.danger) { border-color:var(--ip-accent)!important; }

/* Wallet, support, server information, commands, and legal/account gateways. */
html[data-game="isle"] :is([data-page="wallet"],[data-page="server-info"],[data-page="support"],[data-page="commands"]) :is(
  .wallet-card,.game-card,.quick-card,.rule-card,.tool-card,.info-box,.contact,.support-form,.command-section,.tip
) {
  border-color:var(--ip-line)!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="support"] .hero,
html[data-game="isle"][data-page="server-info"] .connect-panel {
  border-color:color-mix(in srgb,var(--ip-accent) 34%,var(--ip-line))!important;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--ip-accent) 13%,transparent),transparent 48%),
    var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="market"] .stock-row.t-base {
  border-color:color-mix(in srgb,var(--ip-accent) 36%,var(--ip-line))!important;
  background:linear-gradient(90deg,var(--ip-soft),color-mix(in srgb,var(--ip-surface) 94%,transparent))!important;
}
html[data-game="isle"] :is([data-page="privacy"],[data-page="terms"]) .doc {
  border:1px solid var(--ip-line)!important;
  border-radius:16px!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}
html[data-game="isle"][data-page="login"] .login-container,
html[data-game="isle"][data-page="maintenance"] .container {
  border:1px solid color-mix(in srgb,var(--ip-accent) 32%,var(--ip-line))!important;
  border-radius:18px!important;
  background:var(--ip-panel)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 40px var(--ip-soft)!important;
}
html[data-game="isle"][data-page="login"] .stat-card { background:color-mix(in srgb,var(--ip-surface-2) 82%,transparent)!important; }
html[data-game="isle"] .oauth-state-card {
  border-color:color-mix(in srgb,var(--ip-accent) 36%,var(--ip-line))!important;
  background:linear-gradient(155deg,var(--ip-surface-2),var(--ip-bg-2))!important;
  box-shadow:0 34px 110px rgba(0,0,0,.62),0 0 34px var(--ip-soft)!important;
}
html[data-game="isle"] .oauth-state-card::before { background:linear-gradient(90deg,var(--ip-accent),var(--ip-accent-2),transparent)!important; }
html[data-game="isle"] .oauth-state-eyebrow { color:var(--ip-accent)!important; }

/* General shop/builder utilities when reached in Isle mode. */
html[data-game="isle"] :is([data-page="shop"],[data-page="shop-builder"]) :is(
  .panel,.shop-card,.soon-card,.wallet-panel,.tile,.formbar,.modal-card,.live-row,.slot-tab
) {
  border-color:var(--ip-line)!important;
  background:var(--ip-panel)!important;
  box-shadow:var(--ip-shadow)!important;
}

/* Focus and motion */
html[data-game="isle"] :focus-visible { outline:2px solid var(--ip-accent)!important;outline-offset:3px!important; }
@media(prefers-reduced-motion:no-preference) {
  html[data-game="isle"] :is(.panel,.admin-card,.game,.dino-card,.shop-card,.isle-rank-card) { animation:ip-rise .34s ease both; }
  @keyframes ip-rise { from { opacity:.72;transform:translateY(7px) } to { opacity:1;transform:none } }
}
@media(prefers-reduced-motion:reduce) {
  html[data-game="isle"] body.casino-polished :is(.game,.game-card)::after { transition:none!important; }
}

/* Responsive parity across the full surface. */
@media(max-width:1100px) {
  html[data-game="isle"] :is(.admin-grid,.grid,.stats-hero-grid,.stats-section-grid,.quick-grid,.rules-grid,.tool-grid,.games-grid,.market-grid) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html[data-game="isle"][data-page="admin"] .patreon-tier-summary { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  html[data-game="isle"][data-page="crates"] .isle-crate-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:760px) {
  html[data-game="isle"] :is(.admin-grid,.grid,.stats-hero-grid,.stats-section-grid,.quick-grid,.rules-grid,.tool-grid,.games-grid,.market-grid,.wallet-grid,.form-grid,.shop-grid) { grid-template-columns:1fr!important; }
  html[data-game="isle"] :is(.main,.main-content,.page-content,main) { padding-left:14px!important;padding-right:14px!important; }
  html[data-game="isle"] :is(.page-title,.hero-title,.title,h1) { font-size:clamp(34px,11vw,52px)!important; }
  html[data-game="isle"][data-page="account-hub"] .layout { grid-template-columns:1fr!important; }
  html[data-game="isle"][data-page="account-hub"] .tab-rail { position:static!important;display:flex!important;overflow-x:auto!important; }
  html[data-game="isle"][data-page="account-hub"] .tab-rail button { min-width:max-content!important; }
  html[data-game="isle"][data-page="admin"] .admin-tabs { position:static!important;overflow-x:auto!important;flex-wrap:nowrap!important; }
  html[data-game="isle"][data-page="admin"] .admin-tab { flex:0 0 auto!important; }
  html[data-game="isle"][data-page="crates"] .isle-crate-grid { grid-template-columns:1fr!important; }
  html[data-game="isle"][data-page="crates"] .isle-crate-card { aspect-ratio:auto;min-height:280px!important; }
}
@media(max-width:520px) {
  html[data-game="isle"] { --ip-radius:12px; }
  html[data-game="isle"] :is(.panel,.admin-card,.hub,.wallet-card,.game,.game-card,.support-card,.leaderboard) { border-radius:12px!important; }
  html[data-game="isle"] :is(.panel-body,.admin-card,.hub) { padding-left:13px!important;padding-right:13px!important; }
  html[data-game="isle"] body :is(button,.btn,.button,.hub-action) { min-height:42px!important; }
  html[data-game="isle"][data-page="admin"] .patreon-tier-summary { grid-template-columns:1fr!important; }
}
