/* ALOHA Ocean 0.42 — shared foundations; original gameplay colours stay on items/ranks. */
:root {
  --ocean-bg:#edf7f8; --ocean-panel:#f9fefe; --ocean-soft:#daeff0; --ocean-line:#bcd9df;
  --ocean-ink:#173747; --ocean-muted:#517785; --ocean-accent:#087983;
  --ocean-button:#087f89; --ocean-button-ink:#fff; --ocean-shadow:0 12px 32px #143c4810;
  --ocean-coral:#c14c30; --ocean-gold:#97640a; --ocean-violet:#7745be;
  --ocean-store-button:linear-gradient(110deg,#f8c76b,#f3a653); --ocean-store-ink:#382306;
  --ocean-money-font:"Minecraft Menu","Aloha Pixel",ui-monospace,monospace;
  --ocean-ash:#16754c; --ocean-acoin:#9633bb;
}
html[data-theme="night"] {
  --ocean-bg:#071626; --ocean-panel:#112538; --ocean-soft:#183449; --ocean-line:#244356;
  --ocean-ink:#ecf8fc; --ocean-muted:#9abbca; --ocean-accent:#77ddd8;
  --ocean-button:#7ae4da; --ocean-button-ink:#0a2832; --ocean-shadow:0 12px 32px #0002;
  --ocean-coral:#ff967e; --ocean-gold:#f5c873; --ocean-violet:#c1a1ff;
  --ocean-store-button:linear-gradient(110deg,#ffce79,#f4a55b); --ocean-store-ink:#382306;
  --ocean-ash:#7cebb2; --ocean-acoin:#f4a1ed;
}
html:root[data-theme] body.ocean-system {
  --ink:var(--ocean-ink); --ink-soft:var(--ocean-muted); --muted:var(--ocean-muted);
  --surface:var(--ocean-bg); --cream:var(--ocean-bg); --paper:var(--ocean-panel); --white:var(--ocean-panel);
  --line:var(--ocean-line); --teal:var(--ocean-accent); --teal-dark:var(--ocean-accent);
  --orange:var(--ocean-coral); --ember:var(--ocean-coral); --sun:var(--ocean-gold);
  --night-bg:var(--ocean-bg); --night-panel:var(--ocean-panel); --night-panel-soft:var(--ocean-soft);
  --night-text:var(--ocean-ink); --night-copy:var(--ocean-muted); --night-muted:var(--ocean-muted);
  --night-line:var(--ocean-line); --night-teal:var(--ocean-accent);
  --font-game:var(--font-copy); --pixel-font:var(--font-copy); --wiki-pixel:var(--font-copy);
  --wiki-bg:var(--ocean-bg); --wiki-surface:var(--ocean-panel); --wiki-surface-solid:var(--ocean-panel);
  --wiki-elevated:var(--ocean-soft); --wiki-text:var(--ocean-ink); --wiki-copy:var(--ocean-muted);
  --wiki-muted:var(--ocean-muted); --wiki-line:var(--ocean-line); --wiki-accent:var(--ocean-accent);
  --wiki-accent-2:var(--ocean-gold); --wiki-shadow:var(--ocean-shadow);
  --rules-bg:var(--ocean-bg); --rules-bg-deep:var(--ocean-soft); --rules-card:var(--ocean-panel);
  --rules-card-solid:var(--ocean-panel); --rules-ink:var(--ocean-ink); --rules-copy:var(--ocean-muted);
  --rules-muted:var(--ocean-muted); --rules-line:var(--ocean-line); --rules-soft-line:var(--ocean-line);
  --rules-coral:var(--ocean-coral); --rules-coral-deep:var(--ocean-coral); --rules-palm:var(--ocean-accent);
  --rules-palm-deep:var(--ocean-accent); --rules-shadow:var(--ocean-shadow);
  --font-copy:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ocean-ink); background:var(--ocean-bg)!important;
  font:400 16px/1.65 var(--font-copy); isolation:isolate;
}
html:root[data-theme] body.ocean-system::before {
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(circle at 25% 30%,color-mix(in srgb,var(--ocean-muted) 24%,transparent) 0 1px,transparent 1.5px) 0 0/130px 149px;
}
html:root[data-theme] body.ocean-system > :is(.ambient,.grain,.rules-aurora,.wiki-aurora,.pixel-grid) { display:none!important; }
html:root[data-theme] body.ocean-system :is(button,input,select,textarea,summary) { font-family:var(--font-copy)!important; }
html:root[data-theme] body.ocean-system :is(h1,h2,h3,h4) { font-family:var(--font-copy)!important; text-shadow:none; text-transform:none; letter-spacing:-.025em; color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--ocean-accent); outline-offset:4px; }
html:root[data-theme] body.ocean-system :is(button,a,summary) { transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease; }
html:root[data-theme] body.ocean-system :is(button,a):hover { text-shadow:none; }
html:root[data-theme] body.ocean-system button:disabled { opacity:.5; cursor:not-allowed; }
html:root[data-theme] body.ocean-system .shell { width:min(1160px,calc(100% - 64px)); }
html:root[data-theme] body.ocean-system .site-header { min-height:104px; height:auto; border:0; border-bottom:1px solid var(--ocean-line); background:transparent; box-shadow:none; gap:22px; padding-block:20px; }
html:root[data-theme] body.ocean-system .site-header::after { display:none; }
html:root[data-theme] body.ocean-system .aloha-logo-image { width:135px; max-width:100%; }
html:root[data-theme] body.ocean-system .aloha-logo-caption { font:600 10px/1.4 var(--font-copy); color:var(--ocean-muted); letter-spacing:.13em; }
html:root[data-theme] body.ocean-system :is(.header-status,.back-home,.theme-toggle,.logout-button,.site-nav-button,.cabinet-link,.legal-back) { font-size:13px!important; font-weight:500; color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system :is(.theme-toggle,.logout-button,.site-nav-button,.cabinet-link,.notification-button) { min-height:44px; border:1px solid var(--ocean-line); border-radius:8px; background:var(--ocean-panel); box-shadow:none; transform:none; }
html:root[data-theme] body.ocean-system .theme-toggle { min-width:44px; padding:8px 10px; }
html:root[data-theme] body.ocean-system .theme-toggle-label { display:none; }
html:root[data-theme] body.ocean-system :is(.eyebrow,.card-index,.section-number,.dialog-label) { color:var(--ocean-muted); font:600 12px/1.5 var(--font-copy); letter-spacing:.08em; }
html:root[data-theme] body.ocean-system .eyebrow > span { width:6px; height:6px; border-radius:50%; background:var(--ocean-accent); box-shadow:none; }
html:root[data-theme] body.ocean-system :is(.login-intro h1,.dashboard-top h1) { margin:16px 0 0; font-size:clamp(36px,4vw,52px); line-height:1.12; font-weight:750; letter-spacing:-.05em; }
html:root[data-theme] body.ocean-system :is(.login-intro h1 em,.dashboard-top h1 em,.ocean-greeting-dot) { color:var(--ocean-accent); font-style:normal; text-shadow:none; }
html:root[data-theme] body.ocean-system .cabinet-main { padding-top:36px; padding-bottom:80px; }
html:root[data-theme] body.ocean-system .dashboard-top { min-height:150px; gap:24px; margin:0 0 22px; padding:0; }
html:root[data-theme] body.ocean-system .ocean-dashboard-lead { margin:14px 0 0; font-size:15px; color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system .desktop-social-entry {
  width:auto; min-width:260px; max-width:320px; min-height:78px; padding:15px 18px; gap:12px;
  border:1px solid var(--ocean-line); border-radius:12px; color:var(--ocean-ink); background:var(--ocean-panel); box-shadow:none;
}
html:root[data-theme] body.ocean-system .desktop-social-entry::before,
html:root[data-theme] body.ocean-system .desktop-social-entry::after { display:none; }
html:root[data-theme] body.ocean-system .desktop-social-entry > span:first-child { width:38px; height:38px; border:0; border-radius:10px; background:var(--ocean-soft); color:var(--ocean-accent); font-size:25px; box-shadow:none; }
html:root[data-theme] body.ocean-system .desktop-social-entry strong { font-size:17px; color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system .desktop-social-entry strong em { color:var(--ocean-accent); }
html:root[data-theme] body.ocean-system .desktop-social-entry small { display:none; }
html:root[data-theme] body.ocean-system .desktop-social-entry i { color:var(--ocean-muted); font-size:12px; }
html:root[data-theme] body.ocean-system .profile-nav { margin:0 0 26px; padding:7px; gap:6px; border:1px solid var(--ocean-line); border-radius:12px; background:var(--ocean-panel); box-shadow:none; }
html:root[data-theme] body.ocean-system .profile-nav > button,
html:root[data-theme] body.ocean-system .profile-nav-menu > summary { min-height:46px; padding:11px 18px; border:1px solid transparent; border-radius:7px; color:var(--ocean-muted); background:transparent; box-shadow:none; font-size:15px!important; font-weight:600; transform:none; }
html:root[data-theme] body.ocean-system .profile-nav :is(button,summary)::before,
html:root[data-theme] body.ocean-system .profile-nav :is(button,summary)::after { display:none; }
html:root[data-theme] body.ocean-system .profile-nav > button.active,
html:root[data-theme] body.ocean-system .profile-nav-menu.active > summary { color:var(--ocean-accent); background:var(--ocean-soft); }
html:root[data-theme] body.ocean-system .profile-nav > button.store-nav-button { color:var(--ocean-button-ink); background:var(--ocean-button); }
html:root[data-theme] body.ocean-system .profile-nav > button:hover,
html:root[data-theme] body.ocean-system .profile-nav-menu > summary:hover { border-color:var(--ocean-accent); }
html:root[data-theme] body.ocean-system .profile-nav .admin-nav-button span { display:none; }
html:root[data-theme] body.ocean-system :is(.profile-nav-menu-list,.mobile-nav-sheet,.mobile-bottom-nav) { background:var(--ocean-panel); border-color:var(--ocean-line); box-shadow:var(--ocean-shadow); }
html:root[data-theme] body.ocean-system .profile-nav-menu-list button { padding:13px 14px; border:0; background:transparent; color:var(--ocean-ink); font-size:14px!important; }
html:root[data-theme] body.ocean-system .profile-nav-menu-list button small { color:var(--ocean-muted); font-size:12px!important; }

/* The same public navigation on Home, Rules and Wiki. */
html:root[data-theme] body.ocean-system .ocean-header { position:relative; display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:104px; border-bottom:1px solid var(--ocean-line); z-index:30; }
html:root[data-theme] body.ocean-system .ocean-brand { width:135px; display:flex; align-items:center; min-height:44px; }
html:root[data-theme] body.ocean-system .ocean-brand img { display:block; width:100%; height:auto; }
html:root[data-theme] body.ocean-system .ocean-nav { display:flex; align-items:center; gap:26px; }
html:root[data-theme] body.ocean-system .ocean-nav a { color:var(--ocean-ink); text-decoration:none; }
html:root[data-theme] body.ocean-system .ocean-nav-link { display:inline-flex; align-items:center; min-height:44px; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
html:root[data-theme] body.ocean-system .ocean-nav-link:hover { color:var(--ocean-accent); }
html:root[data-theme] body.ocean-system .ocean-theme { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--ocean-muted); font:24px/1 system-ui,sans-serif; cursor:pointer; }
html:root[data-theme] body.ocean-system .ocean-account { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 16px; border:1px solid var(--ocean-line); border-radius:7px; font:600 13px/1.4 var(--font-copy); }
html:root[data-theme] body.ocean-system .ocean-account:hover { border-color:var(--ocean-accent); background:var(--ocean-panel); }
html:root[data-theme] body.ocean-system .ocean-header svg { width:21px; height:21px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
html:root[data-theme] body.ocean-system .ocean-mobile-nav { display:none; }
@media(max-width:760px) {
  html:root[data-theme] body.ocean-system .ocean-header { min-height:82px; gap:12px; }
  html:root[data-theme] body.ocean-system .ocean-brand { width:108px; }
  html:root[data-theme] body.ocean-system .ocean-nav { gap:8px; }
  html:root[data-theme] body.ocean-system .ocean-nav-link { display:none; }
  html:root[data-theme] body.ocean-system .ocean-account { padding:9px 11px; }
  html:root[data-theme] body.ocean-system .ocean-account svg { display:none; }
  html:root[data-theme] body.ocean-system .ocean-mobile-nav { display:block; position:relative; }
  html:root[data-theme] body.ocean-system .ocean-mobile-nav summary { display:grid; place-items:center; width:44px; height:44px; border-radius:7px; cursor:pointer; color:var(--ocean-muted); list-style:none; }
  html:root[data-theme] body.ocean-system .ocean-mobile-nav summary::-webkit-details-marker { display:none; }
  html:root[data-theme] body.ocean-system .ocean-mobile-menu { position:absolute; right:0; top:calc(100% + 10px); width:230px; padding:8px; border:1px solid var(--ocean-line); border-radius:10px; background:var(--ocean-panel); box-shadow:0 12px 35px #0003; }
  html:root[data-theme] body.ocean-system .ocean-mobile-menu a { display:block; padding:12px; min-height:44px; font-size:14px; border-radius:6px; }
}

/* Opaque, legible surfaces across the cabinet; no frosted glass over busy artwork. */
html:root[data-theme] body.ocean-system :is(.login-card,.player-card,.balance-card,.stat-card,.overview-pulse-card,
  .overview-quick-card,.overview-activity-card,.bonus-code-card,.product-card,.case-card,.store-section,
  .mail-card,.mail-message,.mail-list,.mail-compose,.admin-card,.admin-section,.admin-workspace,.admin-panel,
  .security-card,.security-session,.connection-card,.appearance-card,.skin-card,.settings-card,.history-card,
  .social-shell,.social-guest-shell,.social-today-card,.social-today-stats > *, .social-panel-title,
  .social-friend-card,.social-person-card,.social-search-card,.social-settings-card,.social-profile-card,
  .conversation-column,.chat-column,.public-social-card,.identity-card,.identity-panel,.ohana-card,
  .legal-card,.rules-section,.rules-toc,.wiki-card) {
  border-color:var(--ocean-line); border-radius:14px; color:var(--ocean-ink); background:var(--ocean-panel); box-shadow:none;
}
html:root[data-theme] body.ocean-system :is(.player-card,.balance-card,.overview-pulse-card,.stat-card,.overview-quick-card,.overview-activity-card,.social-today-hero)::before,
html:root[data-theme] body.ocean-system :is(.player-card,.balance-card,.overview-pulse-card,.stat-card,.overview-quick-card,.overview-activity-card,.social-today-hero)::after { display:none; }
html:root[data-theme] body.ocean-system .profile-grid { gap:18px; }
html:root[data-theme] body.ocean-system .player-card { padding:28px; }
html:root[data-theme] body.ocean-system .player-card h2 { font:750 32px/1.2 var(--font-copy); }
html:root[data-theme] body.ocean-system .player-avatar { width:76px; height:76px; border:1px solid var(--ocean-line); border-radius:12px; box-shadow:none; }
html:root[data-theme] body.ocean-system :is(.online-badge,.player-rank>span,.player-rank>small,.balance-label) { font-size:12px!important; color:var(--ocean-muted); letter-spacing:.025em; }
html:root[data-theme] body.ocean-system :is(.overview-eco-balance,.overview-honor-signal,.overview-ohana-signal) { border-color:var(--ocean-line); border-radius:8px; background:var(--ocean-bg); color:var(--ocean-ink); box-shadow:none; }
html:root[data-theme] body.ocean-system :is(.overview-honor-signal,.overview-ohana-signal) strong { font-size:17px; color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system :is(.overview-honor-signal,.overview-ohana-signal) :is(small,span) { font-size:12px; color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system .overview-referral-button { border:1px solid var(--ocean-line); border-radius:9px; background:var(--ocean-soft); color:var(--ocean-ink); box-shadow:none; }
html:root[data-theme] body.ocean-system .overview-referral-button strong { color:var(--ocean-ink); font-size:13px!important; }
html:root[data-theme] body.ocean-system .overview-referral-button small { color:var(--ocean-muted); font-size:12px!important; }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card { padding:28px; background:linear-gradient(145deg,var(--ocean-soft),var(--ocean-panel)); border-color:var(--ocean-line); }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card :is(strong,b,p,.balance-label) { color:var(--ocean-ink); text-shadow:none; }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card strong { font:750 52px/1.2 var(--font-copy); letter-spacing:-.055em; }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card b { color:var(--ocean-accent); font-size:16px; background:transparent; }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card p { font-size:14px; color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card #topup-button { background:var(--ocean-button); color:var(--ocean-button-ink); border-color:transparent; border-radius:8px; font-size:15px!important; min-height:46px; }
html:root[data-theme] body.ocean-system .overview-pulse { gap:14px; margin-block:20px 36px; }
html:root[data-theme] body.ocean-system .overview-pulse-card { padding:20px; transition:border-color .18s; transform:none; }
html:root[data-theme] body.ocean-system .overview-pulse-card:hover { border-color:var(--ocean-accent); }
html:root[data-theme] body.ocean-system .overview-pulse-card > span { background:var(--ocean-soft); color:var(--ocean-accent); box-shadow:none; border:0; }
html:root[data-theme] body.ocean-system .overview-pulse-card :is(small,p) { color:var(--ocean-muted); font-size:12px; }
html:root[data-theme] body.ocean-system .overview-pulse-card strong { color:var(--ocean-ink); font-size:20px; }
html:root[data-theme] body.ocean-system .overview-pulse-card b { color:var(--ocean-accent); font-size:13px; }
html:root[data-theme] body.ocean-system :is(.store-heading,.compact-heading,.social-panel-title) h2 { font-size:24px; font-weight:700; letter-spacing:-.025em; }
html:root[data-theme] body.ocean-system :is(.store-heading,.compact-heading) p { color:var(--ocean-muted); font-size:14px; }
html:root[data-theme] body.ocean-system .section-number { color:var(--ocean-accent); border:0; background:transparent; }
html:root[data-theme] body.ocean-system .stat-card { padding:20px; }
html:root[data-theme] body.ocean-system .stat-card :is(span,small) { font-size:12px; color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system .stat-card strong { font-size:24px; font-family:var(--font-copy); color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system :is(.overview-card-title h2,.social-today-card h4) { font-size:17px; color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system :is(.overview-card-title p,.bonus-code-card small) { color:var(--ocean-muted); font-size:13px!important; }
html:root[data-theme] body.ocean-system .quick-store-action { background:var(--ocean-soft); border:1px solid var(--ocean-line); border-radius:10px; color:var(--ocean-ink); box-shadow:none; }
html:root[data-theme] body.ocean-system .quick-store-action :is(strong,small,b) { color:var(--ocean-ink); font-family:var(--font-copy); }
html:root[data-theme] body.ocean-system .overview-activity-list > * { min-width:0; max-width:100%; background:transparent; border-color:var(--ocean-line); }
html:root[data-theme] body.ocean-system .overview-activity-list :is(div,p,strong,small,span,time) { min-width:0; overflow-wrap:anywhere; white-space:normal; }
html:root[data-theme] body.ocean-system .overview-activity-list strong { font-size:14px; color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system .overview-activity-list :is(p,small,time) { color:var(--ocean-muted); font-size:12px; }

/* Form controls and checkout. The item itself retains its own Minecraft presentation. */
html:root[data-theme] body.ocean-system :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea) {
  min-height:46px; border:1px solid var(--ocean-line); border-radius:8px;
  background:var(--ocean-bg)!important; color:var(--ocean-ink)!important; font-size:15px!important; box-shadow:none;
}
html:root[data-theme] body.ocean-system :is(input,textarea)::placeholder { color:var(--ocean-muted); opacity:.85; }
html:root[data-theme] body.ocean-system :is(label,.form-hint,.form-help,.security-note p) { color:var(--ocean-muted); font-size:14px; }
html:root[data-theme] body.ocean-system :is(.primary-action,.buy-button,.bonus-code-controls button,.chat-send-button) {
  min-height:46px; border:1px solid transparent; border-radius:8px; background:var(--ocean-button); color:var(--ocean-button-ink); box-shadow:none; font-size:15px!important; font-weight:650; transform:none;
}
html:root[data-theme] body.ocean-system .primary-action b { background:transparent; color:inherit; }
html:root[data-theme] body.ocean-system .primary-action::before,
html:root[data-theme] body.ocean-system .buy-button::before { display:none; }
html:root[data-theme] body.ocean-system :is(.secondary-action,.recovery-open,.overview-all-events,.social-panel-title button) { border-color:var(--ocean-line); border-radius:8px; color:var(--ocean-accent); background:transparent; box-shadow:none; font-size:14px!important; }
html:root[data-theme] body.ocean-system :is(.product-body,.purchase-summary,.purchase-total,.purchase-selection,.offer-option,.purchase-option,.purchase-terms,.purchase-note) { color:var(--ocean-ink); background:var(--ocean-panel); border-color:var(--ocean-line); }
html:root[data-theme] body.ocean-system :is(.product-price,.purchase-total,.purchase-price,.purchase-summary) :is(strong,b) { color:var(--ocean-accent)!important; background:none; -webkit-text-fill-color:currentColor; text-shadow:none; font-family:var(--font-copy); }
html:root[data-theme] body.ocean-system .product-price strong { font-size:26px; }
html:root[data-theme] body.ocean-system :is(.product-description,.product-features,.product-tier,.purchase-description,.purchase-note,.purchase-terms) { color:var(--ocean-muted); font-size:14px; }
html:root[data-theme] body.ocean-system dialog { background:var(--ocean-panel); color:var(--ocean-ink); border:1px solid var(--ocean-line); border-radius:16px; box-shadow:0 28px 100px #0006; }
html:root[data-theme] body.ocean-system dialog::backdrop { background:#04111fc4; backdrop-filter:blur(5px); }
html:root[data-theme] body.ocean-system dialog :is(header,.dialog-head,.notification-dialog-head) { background:var(--ocean-panel); border-color:var(--ocean-line); }
html:root[data-theme] body.ocean-system dialog h2 { font-size:28px; }
html:root[data-theme] body.ocean-system .dialog-close { width:44px; height:44px; border:1px solid var(--ocean-line); border-radius:8px; background:var(--ocean-soft); color:var(--ocean-ink); }

/* Social belongs to the same world. Personal profile covers/cosmetics are not removed. */
html:root[data-theme] body.ocean-system .social-shell { gap:0; border:1px solid var(--ocean-line); border-radius:14px; overflow:hidden; background:var(--ocean-panel); box-shadow:none; }
html:root[data-theme] body.ocean-system :is(.social-sidebar,.social-guest-sidebar) { background:var(--ocean-panel); border-color:var(--ocean-line); padding:20px 14px; }
html:root[data-theme] body.ocean-system .social-sidebar-brand { color:var(--ocean-ink); border-color:var(--ocean-line); }
html:root[data-theme] body.ocean-system .social-sidebar-brand :is(span,strong,small) { background:none; color:var(--ocean-accent); text-shadow:none; }
html:root[data-theme] body.ocean-system .social-sidebar button { min-height:46px; padding:12px; border-radius:8px; border:1px solid transparent; background:transparent; color:var(--ocean-muted); font-size:14px; }
html:root[data-theme] body.ocean-system .social-sidebar button > span { color:var(--ocean-accent); }
html:root[data-theme] body.ocean-system .social-sidebar button.active,
html:root[data-theme] body.ocean-system .social-sidebar button:hover { background:var(--ocean-soft); color:var(--ocean-ink); box-shadow:none; }
html:root[data-theme] body.ocean-system .social-panel { min-width:0; background:var(--ocean-bg); }
html:root[data-theme] body.ocean-system .social-today-hero { border:1px solid var(--ocean-line); border-radius:12px; padding:28px; background:linear-gradient(115deg,var(--ocean-soft),var(--ocean-panel)); box-shadow:none; }
html:root[data-theme] body.ocean-system .social-today-hero h3 { font-size:32px; line-height:1.15; margin-block:10px 14px; color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system .social-today-hero :is(p,small) { color:var(--ocean-muted); font-size:14px; }
html:root[data-theme] body.ocean-system .social-today-hero small { font-size:11px; letter-spacing:.12em; }
html:root[data-theme] body.ocean-system .social-today-hero button { color:var(--ocean-button-ink); background:var(--ocean-button); border:0; border-radius:8px; min-height:44px; font-size:14px; box-shadow:none; }
html:root[data-theme] body.ocean-system .social-today-card { padding:22px; }
html:root[data-theme] body.ocean-system .social-today-card-head small { font-size:11px; letter-spacing:.06em; color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system .social-today-card-head button { background:transparent; color:var(--ocean-accent); border-color:var(--ocean-line); font-size:12px; }
html:root[data-theme] body.ocean-system :is(.social-today-row,.social-today-person,.social-today-achievement,.social-empty,.conversation-item,.friend-card) { color:var(--ocean-ink); border-color:var(--ocean-line); background:var(--ocean-panel); border-radius:9px; }
html:root[data-theme] body.ocean-system :is(.social-today-stats,.social-today-card,.conversation-item,.friend-card,.social-empty) :is(p,small) { color:var(--ocean-muted); font-size:13px; }
html:root[data-theme] body.ocean-system :is(.social-today-stats,.social-today-card) strong { color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system .social-today-stats > * { border:1px solid var(--ocean-line); }
html:root[data-theme] body.ocean-system .social-today-stats b { color:var(--ocean-accent); font-size:24px; }
html:root[data-theme] body.ocean-system :is(.conversation-column-head,.chat-head,.chat-compose,.conversation-filter,.conversation-view-tabs,.chat-empty,.chat-messages) { background:var(--ocean-panel); border-color:var(--ocean-line); color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system .chat-messages { background:var(--ocean-bg); }
html:root[data-theme] body.ocean-system :is(.chat-bubble,.chat-message-bubble) { color:var(--ocean-ink); background:var(--ocean-panel); border-color:var(--ocean-line); font-size:15px; }
html:root[data-theme] body.ocean-system :is(.chat-message.mine,.chat-message.is-mine) :is(.chat-bubble,.chat-message-bubble) { background:var(--ocean-soft); }
html:root[data-theme] body.ocean-system .chat-empty p { color:var(--ocean-muted); font-size:14px; }
html:root[data-theme] body.ocean-system :is(.chat-head,.conversation-column-head) strong { color:var(--ocean-ink); }
html:root[data-theme] body.ocean-system :is(.chat-head,.conversation-column-head) small { color:var(--ocean-muted); font-size:12px; }
html:root[data-theme] body.ocean-system .chat-person { min-width:0; }

/* Shared reading pages. */
html:root[data-theme] body.ocean-system :is(.legal-main p,.legal-main li,.legal-row span) { color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system :is(.rules-hero,.rules-intro,.wiki-hero) { background:transparent; box-shadow:none; }
html:root[data-theme] body.ocean-system :is(.wiki-hero h1,.rules-hero h1) { font-size:clamp(34px,5vw,60px); line-height:1.1; }
html:root[data-theme] body.ocean-system :is(.wiki-hero h1 em,.rules-hero h1 em) { color:var(--ocean-accent); text-shadow:none; }

/* Homepage: scene, community and editorial news. Keep the familiar Ocean composition. */
html:root body.ocean-home .ocean-party-hero { min-height:550px; }
html:root body.ocean-home .ocean-party-hero .ocean-scene { border-radius:0 0 16px 16px; }
html:root body.ocean-home .ocean-party-hero .ocean-scene img { object-position:center center; }
html:root body.ocean-home .ocean-party-hero .ocean-scene::after { background:linear-gradient(90deg,var(--ocean-bg) 0%,color-mix(in srgb,var(--ocean-bg) 94%,transparent) 10%,color-mix(in srgb,var(--ocean-bg) 72%,transparent) 30%,transparent 63%),linear-gradient(0deg,var(--ocean-bg),transparent 18%); }
html:root body.ocean-home .ocean-party-hero .ocean-intro { padding-top:72px; padding-bottom:72px; width:min(670px,63%); }
html:root body.ocean-home .ocean-party-hero .ocean-lead { max-width:360px; }
html:root body.ocean-home #ocean-party-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
html:root body.ocean-home .ocean-scene-controls { position:absolute; bottom:32px; right:40px; z-index:3; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
html:root body.ocean-home .ocean-scene-controls button { min-height:36px; padding:7px 11px; color:#f3fcff; background:#071626c9; border:1px solid #c2e8f540; border-radius:7px; font:500 11px/1.5 var(--font-copy); cursor:pointer; }
html:root body.ocean-home .ocean-community-links { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px; }
html:root body.ocean-home .ocean-community-links .ocean-telegram { padding:17px 15px; margin:0; gap:12px; background:var(--ocean-panel); border:1px solid var(--ocean-line); border-radius:11px; }
html:root body.ocean-home .ocean-community-links .ocean-telegram:hover { border-color:var(--ocean-accent); }
html:root body.ocean-home .ocean-community-links .ocean-telegram-mark { width:36px; height:36px; flex-basis:36px; border:0; background:var(--ocean-soft); }
html:root body.ocean-home .ocean-discord .ocean-telegram-mark { color:#6471d4; }
html[data-theme="night"] body.ocean-home .ocean-discord .ocean-telegram-mark { color:#b0baff; }
html:root body.ocean-home .ocean-community-links small { font-size:11px; margin-top:3px; }
html:root body.ocean-home .ocean-community-links strong { font-size:14px; }
html:root body.ocean-home .ocean-news { margin-top:64px; padding-top:40px; border-top:1px solid var(--ocean-line); scroll-margin-top:30px; }
html:root body.ocean-home .ocean-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:25px; }
html:root body.ocean-home .ocean-kicker { font:600 11px/1.5 var(--font-copy); letter-spacing:.13em; color:var(--ocean-accent); }
html:root body.ocean-home .ocean-section-heading h2 { margin:9px 0 10px; font:750 34px/1.15 var(--font-copy); letter-spacing:-.035em; color:var(--ocean-ink); }
html:root body.ocean-home .ocean-section-heading p { margin:0; color:var(--ocean-muted); font-size:14px; }
html:root body.ocean-home .ocean-section-heading > a { flex-shrink:0; padding:10px 14px; border:1px solid var(--ocean-line); border-radius:8px; font-size:13px; color:var(--ocean-accent); background:var(--ocean-panel); }
html:root body.ocean-home .ocean-section-heading > a span { margin-left:14px; }
html:root body.ocean-home .ocean-news-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:18px; }
html:root body.ocean-home .ocean-news-card { display:flex; flex-direction:column; min-width:0; padding:25px; border:1px solid var(--ocean-line); border-radius:13px; background:var(--ocean-panel); }
html:root body.ocean-home .ocean-news-card:first-child { background:linear-gradient(155deg,var(--ocean-soft),var(--ocean-panel) 65%); }
html:root body.ocean-home .ocean-news-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; color:var(--ocean-muted); font-size:11px; }
html:root body.ocean-home .ocean-news-meta span { font-size:9px; letter-spacing:.05em; }
html:root body.ocean-home .ocean-news-card h3 { margin:24px 0 16px; font:700 21px/1.35 var(--font-copy); letter-spacing:-.015em; color:var(--ocean-ink); overflow-wrap:anywhere; }
html:root body.ocean-home .ocean-news-copy { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; line-clamp:5; overflow:hidden; white-space:pre-line; margin:0 0 25px; font:400 14px/1.85 var(--font-copy); color:var(--ocean-muted); }
html:root body.ocean-home .ocean-news-link { margin-top:auto; padding-top:16px; border-top:1px solid var(--ocean-line); color:var(--ocean-accent); font:600 12px/1.6 var(--font-copy); }
html:root body.ocean-home .ocean-news-link:hover { text-decoration:underline; text-underline-offset:4px; }
html:root body.ocean-home .ocean-news-empty { grid-column:1/-1; padding:24px; border:1px solid var(--ocean-line); border-radius:12px; color:var(--ocean-muted); }

/* Island accents: a shared foundation, distinct personality for each destination. */
html:root[data-theme] body.ocean-system .profile-nav > button.store-nav-button { background:var(--ocean-store-button); color:var(--ocean-store-ink); box-shadow:0 4px 18px #e9973020; }
html:root[data-theme] body.ocean-system .profile-nav > button.cases-nav-button { color:var(--ocean-violet); background:color-mix(in srgb,var(--ocean-violet) 10%,var(--ocean-panel)); }
html:root[data-theme] body.ocean-system .profile-nav > button.cases-nav-button.active { border-color:var(--ocean-violet); }
html:root[data-theme] body.ocean-system .desktop-social-entry { border-color:color-mix(in srgb,var(--ocean-violet) 35%,var(--ocean-line)); background:linear-gradient(115deg,color-mix(in srgb,var(--ocean-accent) 13%,var(--ocean-panel)),color-mix(in srgb,var(--ocean-violet) 18%,var(--ocean-panel))); }
html:root[data-theme] body.ocean-system .desktop-social-entry > span:first-child { color:var(--ocean-violet); }
html:root[data-theme] body.ocean-system .player-card { background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--ocean-accent) 12%,transparent),transparent 60%),var(--ocean-panel); }
html:root[data-theme] body.ocean-system .overview-pulse-card { --pulse-accent:var(--ocean-accent); background:linear-gradient(145deg,color-mix(in srgb,var(--pulse-accent) 8%,var(--ocean-panel)),var(--ocean-panel) 70%); border-top:2px solid color-mix(in srgb,var(--pulse-accent) 65%,var(--ocean-line)); }
html:root[data-theme] body.ocean-system .overview-pulse-card.cases { --pulse-accent:var(--ocean-violet); }
html:root[data-theme] body.ocean-system .overview-pulse-card.mail { --pulse-accent:var(--ocean-coral); }
html:root[data-theme] body.ocean-system .overview-pulse-card.history { --pulse-accent:var(--ocean-gold); }
html:root[data-theme] body.ocean-system .overview-pulse-card > span { color:var(--pulse-accent); background:color-mix(in srgb,var(--pulse-accent) 12%,transparent); }
html:root[data-theme] body.ocean-system .overview-pulse-card b { color:var(--pulse-accent); }
html:root[data-theme] body.ocean-system .quick-store-action { background:linear-gradient(125deg,color-mix(in srgb,var(--ocean-gold) 18%,var(--ocean-panel)),color-mix(in srgb,var(--ocean-coral) 8%,var(--ocean-panel))); border-color:color-mix(in srgb,var(--ocean-gold) 35%,var(--ocean-line)); }
html:root[data-theme] body.ocean-system .quick-store-action b { color:var(--ocean-gold); }
html:root[data-theme] body.ocean-system .buy-button { background:var(--ocean-store-button); color:var(--ocean-store-ink); }
html:root[data-theme] body.ocean-system .social-today-hero { background:radial-gradient(ellipse at 95% 10%,color-mix(in srgb,var(--ocean-violet) 20%,transparent),transparent 70%),linear-gradient(125deg,color-mix(in srgb,var(--ocean-accent) 15%,var(--ocean-panel)),var(--ocean-panel)); border-color:color-mix(in srgb,var(--ocean-accent) 38%,var(--ocean-line)); }
html:root[data-theme] body.ocean-system .social-today-card { --social-card-accent:var(--ocean-accent); border-top:2px solid color-mix(in srgb,var(--social-card-accent) 60%,var(--ocean-line)); background:linear-gradient(160deg,color-mix(in srgb,var(--social-card-accent) 5%,var(--ocean-panel)),var(--ocean-panel) 50%); }
html:root[data-theme] body.ocean-system .social-today-card:nth-child(3n+1) { --social-card-accent:var(--ocean-violet); }
html:root[data-theme] body.ocean-system .social-today-card:nth-child(3n) { --social-card-accent:var(--ocean-coral); }
html:root[data-theme] body.ocean-system .social-today-card-head small { color:var(--social-card-accent); }
html:root[data-theme] body.ocean-system .social-sidebar button[data-social-tab="messages"] > span { color:var(--ocean-violet); }
html:root[data-theme] body.ocean-system .social-sidebar button[data-social-tab="ohanas"] > span { color:var(--ocean-coral); }
html:root[data-theme] body.ocean-system .social-sidebar button[data-social-tab="friends"] > span { color:var(--ocean-gold); }
html:root[data-theme] body.ocean-system .rules-hero h1 em { color:var(--ocean-coral); }
html:root[data-theme] body.ocean-system .rules-primary-action { background:var(--ocean-store-button); color:var(--ocean-store-ink); border-color:transparent; box-shadow:0 8px 30px #db914b24; border-radius:9px; }
html:root[data-theme] body.ocean-system .rules-section { --section-accent:var(--ocean-accent); border-top:3px solid var(--section-accent); background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--section-accent) 7%,transparent),transparent 50%),var(--ocean-panel); }
html:root[data-theme] body.ocean-system .rules-section:nth-child(3n+2) { --section-accent:var(--ocean-coral); }
html:root[data-theme] body.ocean-system .rules-section:nth-child(3n) { --section-accent:var(--ocean-violet); }
html:root[data-theme] body.ocean-system .rules-section-number { color:var(--section-accent); background:color-mix(in srgb,var(--section-accent) 12%,transparent); border-color:color-mix(in srgb,var(--section-accent) 30%,transparent); }
html:root[data-theme] body.ocean-system .rules-section-head h2 { color:var(--section-accent); }
html:root[data-theme] body.ocean-system .rules-toc-telegram { background:color-mix(in srgb,var(--ocean-accent) 10%,var(--ocean-panel)); border-color:var(--ocean-line); }
html:root[data-theme] body.ocean-system .wiki-card { border-color:color-mix(in srgb,var(--wiki-accent) 25%,var(--ocean-line)); }
html:root[data-theme] body.ocean-system .wiki-hero h1 em { color:var(--ocean-gold); }
html:root[data-theme] body.ocean-system .mobile-bottom-nav .store-mobile-button { color:var(--ocean-gold); }
html:root[data-theme] body.ocean-system .mobile-bottom-nav .cases-mobile-button { color:var(--ocean-violet); }

/* Local-only LIVE bar, injected in development. No credentials or account creation. */
#aloha-live-preview { position:fixed; z-index:2147483600; bottom:14px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:12px; max-width:calc(100vw - 24px); padding:10px 13px; border:1px solid #72dfcb88; border-radius:10px; background:#081a27f5; color:#e6f7ff; box-shadow:0 8px 30px #0005; font:500 12px/1.4 system-ui,sans-serif; }
#aloha-live-preview strong { white-space:nowrap; font-size:11px; color:#87e6d2; }
#aloha-live-preview nav { display:flex; gap:4px; }
#aloha-live-preview a { padding:6px 8px; color:#e6f7ff; text-decoration:none; border-radius:5px; }
#aloha-live-preview a:hover { background:#1c3c4a; }
#aloha-live-preview small { color:#a5bfca; font-size:10px; white-space:nowrap; }
#aloha-live-preview button { min-width:28px; height:28px; padding:0; border:1px solid #39525f; border-radius:5px; color:#e6f7ff; background:#19313d; cursor:pointer; font:16px system-ui,sans-serif; }
.preview-live-dot { width:6px; height:6px; border-radius:50%; background:#72dfaa; flex:0 0 6px; }
#aloha-live-preview.is-offline .preview-live-dot { background:#ffc76b; }
#aloha-live-preview.is-compact :is(nav,small) { display:none; }
@media(max-width:900px) { #aloha-live-preview small { display:none; } }
@media(max-width:760px) { #aloha-live-preview { bottom:86px; gap:6px; padding:7px 9px; } #aloha-live-preview strong { display:none; } #aloha-live-preview a { padding:6px; font-size:11px; } }

@media(max-width:1000px) {
  html:root[data-theme] body.ocean-system .desktop-social-entry { min-width:210px; }
  html:root[data-theme] body.ocean-system .desktop-social-entry > span:first-child { display:none; }
  html:root[data-theme] body.ocean-system .profile-nav > button,
  html:root[data-theme] body.ocean-system .profile-nav-menu > summary { padding-inline:12px; font-size:14px!important; }
  html:root body.ocean-home .ocean-news-grid { grid-template-columns:1fr 1fr; }
  html:root body.ocean-home .ocean-news-card:first-child { grid-column:1/-1; }
  html:root body.ocean-home .ocean-community-links { grid-template-columns:1fr; gap:10px; }
}
@media(max-width:760px) {
  html:root[data-theme] body.ocean-system .shell { width:calc(100% - 36px); }
  html:root[data-theme] body.ocean-system .site-header { min-height:82px; gap:12px; padding-block:16px; }
  html:root[data-theme] body.ocean-system .aloha-logo-image { width:110px; }
  html:root[data-theme] body.ocean-system .aloha-logo-caption { display:none; }
  html:root[data-theme] body.ocean-system .cabinet-main { padding-top:24px; padding-bottom:100px; }
  html:root[data-theme] body.ocean-system .dashboard-top { min-height:110px; gap:12px; margin-bottom:20px; }
  html:root[data-theme] body.ocean-system .dashboard-top h1 { font-size:36px; }
  html:root[data-theme] body.ocean-system .ocean-dashboard-lead { font-size:13px; max-width:250px; }
  html:root[data-theme] body.ocean-system .player-card { padding:20px; }
  html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card { padding:22px; }
  html:root[data-theme] body.ocean-system .overview-pulse { gap:10px; }
  html:root[data-theme] body.ocean-system .overview-pulse-card { padding:17px; }
  html:root[data-theme] body.ocean-system .overview-pulse-card strong { font-size:18px; }
  html:root[data-theme] body.ocean-system .stat-card { padding:17px; }
  html:root[data-theme] body.ocean-system .stat-card strong { font-size:22px; }
  html:root[data-theme] body.ocean-system .mobile-bottom-nav { background:var(--ocean-panel); border-top:1px solid var(--ocean-line); }
  html:root[data-theme] body.ocean-system .mobile-bottom-nav button { color:var(--ocean-muted); border:0; border-radius:8px; background:transparent; box-shadow:none; }
  html:root[data-theme] body.ocean-system .mobile-bottom-nav button.active { background:var(--ocean-soft); color:var(--ocean-accent); }
  html:root[data-theme] body.ocean-system .mobile-bottom-nav button small { font-size:11px!important; }
  html:root[data-theme] body.ocean-system .mobile-bottom-nav .store-mobile-button { color:var(--ocean-accent); }
  html:root[data-theme] body.ocean-system .social-sidebar { padding:10px; border-bottom:1px solid var(--ocean-line); }
  html:root[data-theme] body.ocean-system .social-sidebar button { min-height:44px; padding:9px 12px; }
  html:root[data-theme] body.ocean-system .social-today-hero { padding:23px; }
  html:root[data-theme] body.ocean-system .social-today-hero h3 { font-size:28px; }
  html:root[data-theme] body.ocean-system .social-today-card { padding:18px; }
  html:root body.ocean-home .ocean-party-hero { min-height:630px; }
  html:root body.ocean-home .ocean-party-hero .ocean-scene { height:350px; top:auto; bottom:0; border-radius:0; }
  html:root body.ocean-home .ocean-party-hero .ocean-scene img { object-position:70% center; }
  html:root body.ocean-home .ocean-party-hero .ocean-scene::after { background:linear-gradient(var(--ocean-bg),transparent 36%),linear-gradient(0deg,var(--ocean-bg),transparent 16%); }
  html:root body.ocean-home .ocean-party-hero .ocean-intro { width:100%; padding:34px 20px 330px; }
  html:root body.ocean-home .ocean-party-hero .ocean-lead { max-width:420px; }
  html:root body.ocean-home .ocean-scene-controls { right:20px; bottom:28px; }
  html:root body.ocean-home .ocean-community-links { grid-template-columns:1fr 1fr; margin-top:18px; }
  html:root body.ocean-home .ocean-news { margin-top:38px; padding-top:32px; }
  html:root body.ocean-home .ocean-section-heading { align-items:flex-start; flex-direction:column; gap:18px; }
  html:root body.ocean-home .ocean-section-heading h2 { font-size:30px; }
  html:root body.ocean-home .ocean-news-grid { grid-template-columns:1fr; }
  html:root body.ocean-home .ocean-news-card { padding:23px; }
}
@media(max-width:430px) {
  html:root body.ocean-home .ocean-community-links { grid-template-columns:1fr; }
  html:root[data-theme] body.ocean-system .header-status { display:none; }
  html:root[data-theme] body.ocean-system .dashboard-top h1 { font-size:32px; }
}
/* Breathing room inside rules: outer sections are frames, not the content edge. */
html:root[data-theme] body.rules-page .rules-layout {
  width:min(1240px,calc(100% - 64px)); grid-template-columns:224px minmax(0,1fr);
  gap:clamp(24px,3vw,44px);
}
html:root[data-theme] body.rules-page .rules-sections { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; }
html:root[data-theme] body.rules-page .rules-section {
  padding:clamp(24px,3vw,38px); margin:0; min-width:0; border:1px solid var(--ocean-line);
  border-top:3px solid var(--section-accent); border-radius:20px;
}
html:root[data-theme] body.rules-page .rules-section-intro { margin-left:0; }
html:root[data-theme] body.rules-page .rules-section h2 { font-size:clamp(28px,3vw,40px); }
html:root[data-theme] body.rules-page :is(.rules-section-head,.territory-card-top) > div { min-width:0; }
html:root[data-theme] body.rules-page .rules-section :is(h2,h3,p,li) { overflow-wrap:anywhere; }
html:root[data-theme] body.rules-page .territory-grid { grid-template-columns:1fr; gap:16px; }
html:root[data-theme] body.rules-page .territory-card > p { min-height:0; }
html:root[data-theme] body.rules-page :is(.territory-card,.rules-list-card,.rules-feature-card,.rules-admin-grid) :is(p,li) { font-size:16px; line-height:1.7; }
html:root[data-theme] body.rules-page .territory-card h3 { font-size:21px; }
html:root[data-theme] body.rules-page :is(.territory-card small,.rules-feature-label) { font-size:12px; }
html:root[data-theme="night"] body.rules-page .territory-neutral { --territory-color:#64ddc5; }
html:root[data-theme="night"] body.rules-page .territory-wild { --territory-color:#ff9b7c; }
html:root[data-theme="night"] body.rules-page .territory-private { --territory-color:#edd185; }
html:root[data-theme="night"] body.rules-page .territory-card-top > span { background:color-mix(in srgb,var(--territory-color) 20%,var(--ocean-panel)); color:var(--territory-color); box-shadow:none; }
html:root[data-theme] body.rules-page .rules-toc-inner { border-radius:14px; }
html:root[data-theme] body.rules-page .rules-toc nav a { font-size:14px; }
html:root[data-theme] body.rules-page .rules-section-head p { font-size:12px; }

/* A player's resources have their own clear colour and hierarchy. */
html:root[data-theme] body.ocean-system .profile-grid .player-card {
  grid-template-columns:76px minmax(0,1fr) auto; grid-template-rows:auto auto auto;
  gap:22px 18px; padding:26px; align-content:start;
}
html:root[data-theme] body.ocean-system .profile-grid .player-avatar { grid-row:1; grid-column:1; }
html:root[data-theme] body.ocean-system .player-identity { grid-row:1; grid-column:2; }
html:root[data-theme] body.ocean-system .player-rank { grid-row:1; grid-column:3; }
html:root[data-theme] body.ocean-system .overview-identity-signals {
  grid-row:2; grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
}
html:root[data-theme] body.ocean-system .overview-identity-signals > div {
  --signal-color:var(--ocean-ash); display:flex; flex-direction:column; align-items:flex-start;
  justify-content:flex-start; grid-row:auto; grid-column:auto; gap:0; width:auto; min-width:0;
  padding:16px; border-radius:12px; border:1px solid color-mix(in srgb,var(--signal-color) 30%,var(--ocean-line));
  background:linear-gradient(145deg,color-mix(in srgb,var(--signal-color) 10%,var(--ocean-panel)),var(--ocean-panel));
  box-shadow:inset 0 2px 0 color-mix(in srgb,var(--signal-color) 65%,transparent); backdrop-filter:none;
}
html:root[data-theme] body.ocean-system .overview-identity-signals > [hidden] { display:none; }
html:root[data-theme] body.ocean-system .overview-identity-signals .overview-honor-signal { --signal-color:var(--ocean-gold); }
html:root[data-theme] body.ocean-system .overview-identity-signals .overview-honor-signal.wanted { --signal-color:var(--ocean-coral); }
html:root[data-theme] body.ocean-system .overview-identity-signals .overview-ohana-signal { --signal-color:var(--ocean-violet); }
html:root[data-theme] body.ocean-system .overview-identity-signals .overview-signal-label {
  display:flex; align-items:center; gap:8px; margin:0 0 12px; color:var(--signal-color);
  font:650 13px/1.4 var(--font-copy)!important; letter-spacing:.02em; text-transform:none; overflow:visible;
}
html:root[data-theme] body.ocean-system .overview-signal-label i {
  display:grid; place-items:center; width:26px; height:26px; flex:0 0 26px; font-style:normal; font-size:19px;
  border-radius:7px; background:color-mix(in srgb,var(--signal-color) 13%,transparent);
}
html:root[data-theme] body.ocean-system .overview-identity-signals .overview-signal-amount { display:flex; align-items:baseline; gap:6px; min-width:0; max-width:100%; flex-wrap:wrap; }
html:root[data-theme] body.ocean-system .overview-identity-signals strong {
  margin:0; color:var(--signal-color); font:400 25px/1.3 var(--ocean-money-font);
  white-space:normal; overflow-wrap:anywhere; overflow:visible; text-shadow:none; letter-spacing:0;
}
html:root[data-theme] body.ocean-system .overview-identity-signals #overview-ohana-name { font:700 18px/1.4 var(--font-copy); }
html:root[data-theme] body.ocean-system .overview-identity-signals > div > span {
  margin:9px 0 0; color:var(--ocean-muted); font:500 13px/1.5 var(--font-copy);
  white-space:normal; overflow:visible; overflow-wrap:anywhere;
}
html:root[data-theme] body.ocean-system .overview-eco-balance b { color:var(--ocean-ash); font:400 18px/1 var(--ocean-money-font); }
html:root[data-theme] body.ocean-system .overview-eco-balance .wallet-sync-state { white-space:normal; font-size:12px!important; margin-top:8px; }
html:root[data-theme] body.ocean-system .overview-referral-button { grid-row:3; grid-column:1/-1; padding:12px; background:var(--ocean-bg); }
html:root[data-theme] body.ocean-system .overview-referral-button > span { background:color-mix(in srgb,var(--ocean-gold) 18%,var(--ocean-panel)); color:var(--ocean-gold); box-shadow:none; }

html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card {
  padding:28px; border-radius:16px; border:1px solid #c473d475; overflow:hidden; animation:none;
  background:radial-gradient(ellipse at 100% 0,#e57ed735,transparent 66%),radial-gradient(ellipse at 0 100%,#9e63ed24,transparent 68%),#fff6ff;
  box-shadow:0 12px 32px #a240b412,inset 0 1px 0 #fff9;
}
html:root[data-theme="night"] body.ocean-system .profile-grid .acoin-balance-card {
  background:radial-gradient(ellipse at 100% 0,#d74fb64d,transparent 68%),radial-gradient(ellipse at 0 100%,#713de24a,transparent 70%),linear-gradient(135deg,#281b42,#211c38);
  border-color:#ce6ceb66; box-shadow:0 12px 35px #b73ce412,inset 0 1px 0 #faacff14;
}
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card .balance-label {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  color:var(--ocean-acoin); font:650 14px/1.4 var(--font-copy)!important; letter-spacing:0; text-transform:none;
}
html:root[data-theme] body.ocean-system .acoin-balance-card .balance-label i { font-size:30px; font-style:normal; }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card > div { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin-top:16px; }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card #player-balance {
  color:#a033b8; font:400 clamp(42px,4.2vw,58px)/1.2 var(--ocean-money-font)!important; letter-spacing:0;
  background:linear-gradient(110deg,#b72d91,#8034bd); background-clip:text; -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; text-shadow:none; overflow-wrap:anywhere;
}
html:root[data-theme="night"] body.ocean-system .profile-grid .acoin-balance-card #player-balance {
  color:#f4afff; background-image:linear-gradient(110deg,#ffacdf 5%,#e795ff 55%,#bda0ff);
  filter:drop-shadow(0 0 16px #ec6cff24);
}
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card b {
  color:var(--ocean-acoin); font:400 20px/1.4 var(--ocean-money-font); background:transparent; padding:0; border:0;
}
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card p { color:var(--ocean-muted); line-height:1.6; margin-top:12px; }
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card #topup-button {
  margin-top:auto; min-height:48px; background:linear-gradient(110deg,#b32997,#7534bc); color:#fff; border:1px solid #ffffff29;
  box-shadow:0 7px 20px #ab28c024; font-weight:650; text-shadow:none;
}
html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card #topup-button:hover { filter:brightness(1.12); box-shadow:0 9px 24px #ab28c038; }

/* One actual Minecraft typeface for money, independent of rank or offer styles. */
html:root[data-theme] body.ocean-system :is(
  .product-price > strong,.product-price > span,.product-price > del,.term-option-price > strong,.term-option-price > del,
  .product-preview-price > strong,.product-preview-price > del,.case-bundle-price > b,.case-bundle-price > del,
  .social-cosmetic-card button b,.case-pricing-preview strong,.case-pricing-preview del,
  #expanded-price,#dialog-price,#case-balance-value,#case-purchase-price,#case-purchase-old-price,#case-purchase-balance-after,
  #social-cosmetic-balance,#social-cosmetic-purchase-price,#social-cosmetic-purchase-after,#topup-amount,
  .topup-amount-field > span,.topup-dialog form > p > strong
) { font-family:var(--ocean-money-font)!important; font-weight:400!important; font-style:normal; letter-spacing:0!important; font-variant-numeric:normal; }
html:root[data-theme] body.ocean-system .product-card .product-price strong { font-size:26px!important; line-height:1.3; }
html:root[data-theme] body.ocean-system .product-card .product-price span { font-size:18px!important; }
html:root[data-theme] body.ocean-system .product-card .product-price del { font-size:17px!important; color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system .product-card .product-open-hint { font:600 13px/1.4 var(--font-copy)!important; color:var(--ocean-muted); }
html:root[data-theme] body.ocean-system .term-option-price > strong { font-size:26px!important; line-height:1.3; }
html:root[data-theme] body.ocean-system #expanded-price { font-size:30px!important; line-height:1.35; }
html:root[data-theme] body.ocean-system #dialog-price { font-size:32px!important; line-height:1.3; }
html:root[data-theme] body.ocean-system :is(#case-balance-value,#social-cosmetic-balance) { color:var(--ocean-acoin); font-size:30px; }
html:root[data-theme] body.ocean-system .social-today-stats strong { font:700 26px/1.25 var(--font-copy); }
html:root[data-theme] body.ocean-system .social-cosmetic-card button b { font-size:20px; }
html:root[data-theme] body.ocean-system .stat-card { border-top:2px solid color-mix(in srgb,var(--ocean-accent) 50%,var(--ocean-line)); }
html:root[data-theme] body.ocean-system .stat-card:nth-child(3n+2) { border-top-color:color-mix(in srgb,var(--ocean-violet) 55%,var(--ocean-line)); }
html:root[data-theme] body.ocean-system .stat-card:nth-child(3n) { border-top-color:color-mix(in srgb,var(--ocean-gold) 55%,var(--ocean-line)); }
html:root[data-theme] body.ocean-system .overview-activity-list time { display:block; margin-top:6px; }
html:root[data-theme] body.ocean-system .admin-attention-card {
  border-top:2px solid var(--ocean-gold);
  background:linear-gradient(145deg,color-mix(in srgb,var(--ocean-gold) 7%,var(--ocean-panel)),var(--ocean-panel));
}
html:root[data-theme] body.ocean-system .admin-attention-card .admin-card-title > span { color:var(--ocean-gold); background:color-mix(in srgb,var(--ocean-gold) 12%,transparent); border-color:color-mix(in srgb,var(--ocean-gold) 28%,transparent); }
html:root[data-theme] body.ocean-system .admin-quick-card { border-top:2px solid var(--ocean-violet); }
html:root[data-theme] body.ocean-system .admin-metric { --metric-accent:var(--ocean-accent); border-top:2px solid color-mix(in srgb,var(--metric-accent) 50%,var(--ocean-line)); }
html:root[data-theme] body.ocean-system .admin-metric:nth-child(3n+2) { --metric-accent:var(--ocean-gold); }
html:root[data-theme] body.ocean-system .admin-metric:nth-child(3n) { --metric-accent:var(--ocean-violet); }
@media(max-width:1000px) {
  html:root[data-theme] body.rules-page .rules-layout { display:block; }
  html:root[data-theme] body.ocean-system .overview-identity-signals strong { font-size:23px; }
}
@media(max-width:760px) {
  html:root[data-theme] body.rules-page .rules-layout { width:calc(100% - 28px); }
  html:root[data-theme] body.rules-page .rules-section { padding:24px 18px; border-radius:16px; }
  html:root[data-theme] body.rules-page .rules-section-head { gap:12px; }
  html:root[data-theme] body.rules-page .rules-section h2 { font-size:28px; }
  html:root[data-theme] body.ocean-system .profile-grid .player-card { grid-template-columns:64px minmax(0,1fr); grid-template-rows:auto auto auto auto; gap:18px 14px; padding:20px; }
  html:root[data-theme] body.ocean-system .profile-grid .player-avatar { width:64px; height:64px; }
  html:root[data-theme] body.ocean-system .player-rank { grid-row:2; grid-column:1/-1; flex-direction:row; align-items:center; flex-wrap:wrap; border:0; padding:0; gap:10px; }
  html:root[data-theme] body.ocean-system .overview-identity-signals { grid-row:3; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  html:root[data-theme] body.ocean-system .overview-identity-signals .overview-eco-balance { grid-column:1/-1; }
  html:root[data-theme] body.ocean-system .overview-identity-signals > div { padding:14px; }
  html:root[data-theme] body.ocean-system .overview-referral-button { grid-row:4; }
  html:root[data-theme] body.ocean-system .overview-identity-signals #overview-ohana-name { font-size:17px; }
  html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card { min-height:244px; padding:24px; }
  html:root[data-theme] body.ocean-system .profile-grid .acoin-balance-card #player-balance { font-size:48px!important; }
  html:root[data-theme] body.ocean-system #purchase-dialog .term-option { min-height:88px; padding-block:22px; }
  html:root[data-theme] body.ocean-system #purchase-dialog .term-option.selected::after { top:6px; right:8px; width:16px; height:16px; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  html:root[data-theme] body.ocean-system *, html:root body.ocean-home * { animation-duration:.01ms!important; animation-iteration-count:1!important; transition:none!important; scroll-behavior:auto!important; }
}
