/* Midnight Tide — an optional GAME theme. Every override is scoped.
   Illustration is a fixed, proportional layer; UI is live HTML, not a bitmap.
   Blue surfaces always carry white/cyan text; white surfaces carry blue ink. */
body.theme-persona {
  --p3-ink: var(--p3-tone-071647, #071647);
  --p3-deep: var(--p3-tone-051b73, #051b73);
  --p3-blue: var(--p3-tone-0754eb, #0754eb);
  --p3-cyan: var(--p3-tone-79f6ff, #79f6ff);
  --p3-red: var(--p3-tone-e92443, #e92443);
  --p3-paper: var(--p3-tone-f6fdff, #f6fdff);
  --ink: var(--p3-tone-f6fdff, #f6fdff);
  --cream: var(--p3-tone-f6fdff, #f6fdff);
  --mut: var(--p3-tone-d3e5ff, #d3e5ff);
  --faint: var(--p3-tone-b8d4fb, #b8d4fb);
  --pink: var(--p3-tone-79f6ff, #79f6ff);
  --purple: var(--p3-tone-0754eb, #0754eb);
  --peach: var(--p3-tone-79f6ff, #79f6ff);
  --teal: var(--p3-tone-79f6ff, #79f6ff);
  --gold: var(--p3-tone-fff2a7, #fff2a7);
  --lime: var(--p3-tone-79f6ff, #79f6ff);
  --glass: var(--p3-tone-092b83, #092b83);
  --glass2: var(--p3-tone-113a9c, #113a9c);
  --brd: var(--p3-tone-426ac2, #426ac2);
  --line: var(--p3-tone-426ac2, #426ac2);
  --nav-w: 254px;
  background: var(--p3-tone-051b73, #051b73) !important;
  color: var(--ink) !important;
  padding-bottom: 0 !important;
  color-scheme: dark;
}
body.theme-persona, body.theme-persona *:not(i) {
  font-family: 'Roboto Condensed', 'Segoe UI', sans-serif !important;
}
body.theme-persona :is(.bg, .bg-theme, .bg-glow, .grain, .scanline, #ps3WaveCanvas, .new-day-vigil) { display: none !important; }
body.theme-persona::before, body.theme-persona::after { display: none !important; }
body.theme-persona ::selection { background: var(--p3-cyan); color: var(--p3-ink); }
body.theme-persona :is(button, input, select, textarea, a):focus-visible {
  outline: 3px solid var(--p3-cyan) !important;
  outline-offset: 4px;
}
body.theme-persona .app-nav :is(button, input, a):focus-visible { outline-color: var(--p3-ink) !important; }
body.theme-persona :is(button, select) { cursor: pointer; }
body.theme-persona button:disabled { cursor: not-allowed; opacity: .65; }

/* Wallpaper never defines document height and never stretches the character. */
.p3-scene, .p3-hud { display: none; }
.p3-scene[hidden], .p3-hud[hidden], .p3-dialog[hidden] { display: none !important; }
body.theme-persona .p3-scene {
  display: block; position: fixed; inset: 0; z-index: 0;
  overflow: hidden; pointer-events: none;
  background: var(--p3-tone-0533bc, #0533bc) url('./persona-midnight-v1.png') right center / cover no-repeat;
  isolation: isolate;
}
body.theme-persona .p3-scene::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--p3-tone-03187922, #03187922), var(--p3-tone-03259418, #03259418) 60%, transparent 78%);
}
body.theme-persona .p3-scene::after {
  content: ''; position: absolute; width: 45vw; height: 140vh;
  top: -20vh; left: -23vw; transform: rotate(15deg);
  background: var(--p3-tone-f6fdff, #f6fdff); opacity: .07;
}
.p3-caustics {
  position: absolute; left: 5%; right: -10%; top: -10%; height: 48%;
  background: radial-gradient(ellipse at 55% 0%, var(--p3-tone-6af9ff66, #6af9ff66), transparent 64%),
    repeating-linear-gradient(113deg, transparent 0 100px, var(--p3-tone-94feff14, #94feff14) 140px, transparent 190px);
  mix-blend-mode: screen; transform-origin: top right;
  animation: p3-water 18s ease-in-out infinite alternate;
}
.p3-orbit { position: absolute; right: -19vh; top: 22vh; width: 64vh; height: 64vh; border: 1px solid var(--p3-tone-a2faff48, #a2faff48); border-radius: 50%; }
.p3-orbit::before, .p3-orbit::after { content: ''; position: absolute; inset: 20px; border: 1px dashed var(--p3-tone-a2faff24, #a2faff24); border-radius: 50%; }
.p3-orbit::after { inset: -25px; border-style: solid; }
.p3-shards i { position: absolute; right: 26%; top: 25%; width: 19px; height: 55px; background: var(--p3-tone-dfffff, #dfffff); clip-path: polygon(0 0,100% 30%,35% 100%); opacity: .35; animation: p3-shard 15s ease-in-out infinite alternate; }
.p3-shards i:nth-child(2) { right: 7%; top: 72%; width: 35px; height: 60px; animation-delay: -5s; opacity: .22; }
.p3-shards i:nth-child(3) { right: 39%; top: 55%; width: 13px; height: 32px; animation-delay: -11s; }
.p3-bubbles i { position: absolute; left: calc(62% + var(--bubble-x, 0) * 1%); bottom: -30px; width: 7px; height: 7px; border: 1px solid var(--p3-tone-b1fbff88, #b1fbff88); border-radius: 50%; animation: p3-bubble 21s linear infinite; }
.p3-bubbles i:nth-child(1) { left: 73%; animation-delay: -2s; }
.p3-bubbles i:nth-child(2) { left: 87%; animation-delay: -16s; width: 13px; height: 13px; }
.p3-bubbles i:nth-child(3) { left: 59%; animation-delay: -11s; }
.p3-bubbles i:nth-child(4) { left: 94%; animation-delay: -6s; }
.p3-bubbles i:nth-child(5) { left: 81%; animation-delay: -18s; width: 4px; height: 4px; }
.p3-bubbles i:nth-child(6) { left: 67%; animation-delay: -8s; width: 12px; height: 12px; }
.p3-bubbles i:nth-child(7) { left: 91%; animation-delay: -13s; }
.p3-bubbles i:nth-child(8) { left: 76%; animation-delay: -20s; width: 4px; height: 4px; }
.p3-bubbles i:nth-child(9) { left: 98%; animation-delay: -4s; }
@keyframes p3-water { from { opacity: .4; transform: translate(-2%, -1%) skewX(-8deg); } to { opacity: .85; transform: translate(3%, 3%) skewX(5deg); } }
@keyframes p3-shard { from { transform: translateY(8px) rotate(-12deg); } to { transform: translateY(-18px) rotate(9deg); } }
@keyframes p3-bubble { 0% { transform: translate(0, 0); opacity: 0; } 10%,80% { opacity: .6; } 100% { transform: translate(-30px, -110vh); opacity: 0; } }

/* White cut-paper navigation. The text itself is never clipped. */
body.theme-persona .app-shell { position: relative; z-index: 1; background: transparent !important; }
body.theme-persona .app-nav {
  background: var(--p3-paper) !important; border: 0 !important;
  color: var(--p3-ink) !important; padding: 28px 22px 22px !important;
  box-shadow: 8px 0 0 var(--p3-tone-6feaff80, #6feaff80); backdrop-filter: none;
  overflow: visible;
}
body.theme-persona .app-nav::before {
  content: ''; position: absolute; z-index: -1; inset: 0 -26px 0 0;
  background: var(--p3-paper); clip-path: polygon(0 0,100% 0,91% 100%,0 100%);
  pointer-events: none;
}
body.theme-persona .app-nav::after { content: 'CHICHARD / 03'; position: absolute; right: -22px; bottom: 138px; writing-mode: vertical-rl; font-size: 10px; font-weight: 900; letter-spacing: .2em; color: var(--p3-tone-1244bc, #1244bc); pointer-events: none; }
body.theme-persona .brand-lockup { padding: 0 8px 24px !important; }
body.theme-persona .brand-logo { width: 171px; height: 62px; filter: brightness(0) saturate(100%); object-fit: contain; }
body.theme-persona .mode-portal { margin: 0 0 22px !important; }
body.theme-persona .mode-toggle { background: var(--p3-tone-dfeeff, #dfeeff) !important; border: 1px solid var(--p3-tone-97b4df, #97b4df) !important; border-radius: 0 !important; height: 43px; }
body.theme-persona .mode-toggle-track { background: var(--p3-tone-dfeeff, #dfeeff) !important; border-radius: 0 !important; box-shadow: none !important; }
body.theme-persona .mode-toggle-track::after { background: var(--p3-tone-0749d4, #0749d4) !important; border-radius: 0 !important; box-shadow: none !important; }
body.theme-persona .mode-choice { color: var(--p3-tone-123575, #123575) !important; font-size: 12px; }
body.theme-persona .mode-choice.games, body.theme-persona .mode-choice.games i { color: white !important; }
body.theme-persona .nav-label { color: var(--p3-tone-426399, #426399) !important; padding-left: 8px; font-size: 10px; letter-spacing: .2em !important; margin-bottom: 15px; }
body.theme-persona .app-nav-items { gap: 5px; transform: rotate(-4deg); margin: 0 -6px 30px; }
body.theme-persona .app-nav-btn {
  position: relative; height: auto; min-height: 46px; width: 100%; padding: 9px 10px;
  border-radius: 0 !important; background: transparent !important;
  color: var(--p3-tone-082368, #082368) !important; font-size: 21px !important;
  font-weight: 900 !important; font-style: italic; text-transform: uppercase;
  letter-spacing: -.04em; line-height: 1.12; gap: 10px;
  transition: color .18s, background-color .18s, transform .18s;
}
body.theme-persona .app-nav-btn::before { content: attr(data-p3-number); font-size: 10px; font-style: normal; font-weight: 600; opacity: .75; align-self: center; min-width: 12px; }
body.theme-persona .app-nav-btn::after { content: none; }
body.theme-persona .app-nav-btn i { display: none; }
body.theme-persona .app-nav-btn:hover { color: var(--p3-tone-0748d9, #0748d9) !important; transform: translateX(5px); }
body.theme-persona .app-nav-btn.on { background: var(--p3-tone-064cdd, #064cdd) !important; color: #fff !important; box-shadow: 4px 4px 0 var(--p3-red); }
body.theme-persona .app-nav-btn.on::after { content: ''; display: block; position: absolute; right: -7px; top: 0; bottom: 0; width: 12px; background: var(--p3-tone-064cdd, #064cdd); transform: skewX(-12deg); }
body.theme-persona .nav-account {
  margin: auto -22px -22px !important; padding: 18px 22px !important;
  width: calc(100% + 44px); background: var(--p3-tone-e1edff, #e1edff) !important; border-top: 1px solid var(--p3-tone-a0b8df, #a0b8df) !important;
}
body.theme-persona .nav-user b { color: var(--p3-tone-092668, #092668) !important; font-size: 15px; }
body.theme-persona .nav-user span { color: var(--p3-tone-365582, #365582) !important; font-size: 11px; letter-spacing: .06em; }
body.theme-persona .nav-avatar { background: var(--p3-tone-064cdd, #064cdd) !important; color: #fff !important; border: 1px solid var(--p3-tone-064cdd, #064cdd); border-radius: 0; transform: rotate(-5deg); flex-shrink: 0; }

/* A right-side pocket of air lets the illustration stay visible. */
body.theme-persona .app-main { position: relative; background: transparent !important; min-height: 100svh !important; padding: 0 !important; }
body.theme-persona .app-main::before, body.theme-persona .app-main::after { display: none !important; }
body.theme-persona .wrap { max-width: 1340px; margin: 0; padding: 0 clamp(24px, 2.8vw, 55px) 100px; width: calc(100% - clamp(260px, 24vw, 520px)); }
body.theme-persona header { position: relative; border: 0; padding: 35px 0 28px 6px; margin-bottom: 10px; min-height: 187px; }
body.theme-persona .word { color: #fff !important; font-family: 'Roboto Condensed',sans-serif !important; font-size: clamp(43px, 4.8vw, 72px) !important; font-weight: 900 !important; font-style: italic; line-height: .84 !important; letter-spacing: -.045em !important; transform: rotate(-4deg); transform-origin: left bottom; text-shadow: 4px 5px 0 var(--p3-tone-00217d, #00217d); padding: 5px 10px 9px 0; }
body.theme-persona .tag { display: none !important; }
body.theme-persona header::after { content: 'THE MIDNIGHT COLLECTION / 03'; position: absolute; bottom: 8px; left: 4px; font-size: 10px; font-weight: 700; letter-spacing: .22em; color: var(--p3-tone-cefcff, #cefcff); }
body.theme-persona .app-page.on { animation: p3-page .38s cubic-bezier(.16,.8,.3,1) both; }
@keyframes p3-page { from { opacity: 0; transform: translate(16px,6px); } to { opacity: 1; transform: none; } }
body.theme-persona :is(.section-head h1, .profile-id, .sh-head h2) { font-family: 'Roboto Condensed', 'Segoe UI', sans-serif !important; font-weight: 800 !important; letter-spacing: -.025em !important; color: #fff !important; }
body.theme-persona .section-head { padding: 20px 0 0; align-items: center; }
body.theme-persona .section-head h1 { font-size: clamp(32px, 4vw, 48px); font-style: italic; text-transform: uppercase; }
body.theme-persona :is(.section-head p, .profile-bio, .credit, .credit a, .no-items, .page-kicker, .wait-month-title, .theme-section-head p) { color: var(--p3-tone-e3f3ff, #e3f3ff) !important; }
body.theme-persona .section-head p { max-width: 560px; line-height: 1.55; font-size: 15px; }
body.theme-persona .page-kicker { font-size: 10px; letter-spacing: .22em !important; }
body.theme-persona .credit { position: relative !important; background: transparent !important; border: 0 !important; padding: 20px 0; margin-top: 15px; }

/* Ranking: a white title ribbon, blue records and a cyan score column. */
body.theme-persona .showcase { position: relative; padding: 18px 17px 14px; margin: 18px 0 22px; border: 1px solid var(--p3-tone-74cfff, #74cfff); background: var(--p3-tone-06267deb, #06267deb) !important; border-radius: 0; box-shadow: 5px 5px 0 var(--p3-tone-03175e66, #03175e66); }
body.theme-persona .showcase::before, body.theme-persona .showcase::after { display: none; }
body.theme-persona .sc-head { color: var(--p3-tone-061f68, #061f68); background: var(--p3-tone-f5fdff, #f5fdff); padding: 10px 13px; margin: -19px -8px 15px; transform: skewX(-7deg); border-bottom: 3px solid var(--p3-tone-79f6ff, #79f6ff); }
body.theme-persona .sc-head > * { transform: skewX(7deg); }
body.theme-persona .sc-head h2 { color: var(--p3-tone-061f68, #061f68) !important; font-weight: 900 !important; font-style: italic; font-size: 18px; letter-spacing: -.015em; }
body.theme-persona .sc-head .ico { color: var(--p3-tone-0754df, #0754df) !important; }
body.theme-persona .sc-head span { color: var(--p3-tone-244d7b, #244d7b) !important; font-size: 10px; }
body.theme-persona .shelf-row { gap: 14px; padding: 7px 1px 10px; }
body.theme-persona .cover { border: 1px solid var(--p3-tone-80f4ff99, #80f4ff99) !important; border-radius: 0 !important; box-shadow: 3px 3px 0 var(--p3-tone-002065, #002065) !important; transform: none; filter: none !important; }
body.theme-persona .cover:hover { transform: translateY(-5px); border-color: white !important; }
body.theme-persona :is(.cv-img, .cv-shade) { border-radius: 0 !important; filter: none !important; }
body.theme-persona .cv-title { color: #fff !important; font-weight: 800 !important; text-shadow: 0 2px 5px #000; }
body.theme-persona .cv-score { color: #fff !important; background: var(--p3-tone-06267ddd, #06267ddd); padding: 3px 5px; width: fit-content; text-shadow: none; }
body.theme-persona .shelf-ledge { display: none !important; }
body.theme-persona .sh-arrow { background: var(--p3-tone-f6fdff, #f6fdff) !important; color: var(--p3-tone-05296d, #05296d) !important; border: 2px solid var(--p3-tone-79f6ff, #79f6ff); border-radius: 0; width: 30px; height: 40px; }
body.theme-persona .hero808 { border-radius: 0 !important; background: var(--p3-tone-062479f2, #062479f2) !important; border: 1px solid var(--p3-tone-518ddd, #518ddd) !important; border-left: 4px solid var(--p3-tone-79f6ff, #79f6ff) !important; padding: 21px 23px; margin-bottom: 18px; }
body.theme-persona .hero808::before, body.theme-persona .hero808::after { display: none !important; }
body.theme-persona .hero808 .h-title { font-size: 15px; font-weight: 800; color: var(--p3-tone-79f6ff, #79f6ff) !important; letter-spacing: .14em; margin-bottom: 12px; }
body.theme-persona .hero808 .h-metrics { gap: 12px 24px; color: var(--p3-tone-d4eaff, #d4eaff) !important; font-size: 11px; letter-spacing: .035em; }
body.theme-persona .hero808 .h-metrics b { color: #fff !important; font-size: 16px; -webkit-text-fill-color: #fff !important; }
body.theme-persona .hero808 .dot-matrix { border-radius: 0; background: var(--p3-tone-061b5b, #061b5b); border-color: var(--p3-tone-4873bf, #4873bf); padding: 4px; gap: 3px; }
body.theme-persona .hero808 .dot-matrix i { height: 8px; border-radius: 0; background: var(--p3-tone-244487, #244487); }
body.theme-persona .hero808 .dot-matrix i.fill { background: var(--p3-tone-79f6ff, #79f6ff) !important; box-shadow: none !important; }
body.theme-persona .hero808 .h-desc { color: var(--p3-tone-bcd6ff, #bcd6ff) !important; font-size: 10px; line-height: 1.55; letter-spacing: .065em; margin-top: 12px; }
body.theme-persona .toolbar { position: relative; top: auto; background: transparent !important; padding: 0 !important; backdrop-filter: none; grid-template-columns: minmax(160px,1fr) minmax(100px,auto) minmax(130px,auto) auto !important; gap: 8px !important; border: 0 !important; border-radius: 0 !important; }
body.theme-persona .toolbar .search { border: 0 !important; background: transparent !important; border-radius: 0 !important; }
body.theme-persona .toolbar::before, body.theme-persona .toolbar::after, body.theme-persona .search::before, body.theme-persona .search::after { display: none !important; }
body.theme-persona .toolbar :is(input, select, button) { font-size: 12px !important; letter-spacing: .015em; }
body.theme-persona .toolbar .search input { padding-left: 34px; min-height: 44px; }
body.theme-persona .toolbar .search i { color: var(--p3-tone-173f8c, #173f8c) !important; z-index: 1; }
body.theme-persona .list { gap: 9px; }
body.theme-persona .row {
  border-radius: 0 !important; border: 1px solid var(--p3-tone-447ccb, #447ccb) !important;
  background: var(--p3-tone-052573f2, #052573f2) !important; padding: 17px 17px 17px 12px; gap: 12px;
  opacity: 1; transform: none; animation: none !important; backdrop-filter: none;
  transition: border-color .2s, background .2s, transform .2s;
}
body.theme-persona .row::before { width: 3px; background: var(--p3-tone-79f6ff, #79f6ff); opacity: .8; }
body.theme-persona .row .info h3 { color: #fff !important; font-size: 16px; font-weight: 700; }
body.theme-persona .row .rnk { color: var(--p3-tone-8cf7ff, #8cf7ff) !important; font-weight: 900; font-size: 24px; }
body.theme-persona .row .sc-cell b { background: none !important; color: var(--p3-tone-79f6ff, #79f6ff) !important; -webkit-text-fill-color: var(--p3-tone-79f6ff, #79f6ff) !important; font-size: 29px; font-weight: 900; font-style: italic; }
body.theme-persona :is(.row .meta-row, .row .sc-sub, .row .sc-cell small) { color: var(--p3-tone-c5ddff, #c5ddff) !important; }
body.theme-persona .row .badge { color: var(--p3-tone-d9faff, #d9faff) !important; background: var(--p3-tone-143c83, #143c83); border-color: var(--p3-tone-6999d2, #6999d2); border-radius: 0; }
body.theme-persona .row .chip { border-radius: 0; color: var(--p3-tone-cefdff, #cefdff) !important; border-color: var(--p3-tone-52a7c0, #52a7c0); background: var(--p3-tone-044778, #044778); }
body.theme-persona .row:hover, body.theme-persona .row:not([data-agg='1']):hover { background: var(--p3-tone-09409d, #09409d) !important; border-color: var(--p3-tone-b8fcff, #b8fcff) !important; transform: translateX(4px); }
body.theme-persona .row:hover::before { background: var(--p3-tone-f6fdff, #f6fdff); }
body.theme-persona .row .bar i { background: var(--p3-tone-79f6ff, #79f6ff) !important; }

/* Shared controls — no inherited white-on-white or lime accents. */
body.theme-persona :is(.search input, select.flt, .field input, .field select, .field textarea, .admin-bank-form input, .admin-bank-form select) {
  background: var(--p3-tone-f6fdff, #f6fdff) !important; color: var(--p3-tone-082864, #082864) !important; -webkit-text-fill-color: var(--p3-tone-082864, #082864) !important;
  border: 1px solid var(--p3-tone-9fcaff, #9fcaff) !important; border-radius: 0 !important; box-shadow: none !important;
  font-size: 15px; color-scheme: light;
}
body.theme-persona :is(input, textarea)::placeholder { color: var(--p3-tone-506b94, #506b94) !important; -webkit-text-fill-color: var(--p3-tone-506b94, #506b94) !important; opacity: 1; }
body.theme-persona select option { background: var(--p3-tone-f6fdff, #f6fdff) !important; color: var(--p3-tone-082864, #082864) !important; }
body.theme-persona :is(.field label, .trow > label, .ins-label) { color: var(--p3-tone-d2ebff, #d2ebff) !important; font-weight: 700; font-size: 12px; }
body.theme-persona :is(.add-btn, .save-btn, .edit-btn, .quest-submit, .avatar-buy, .p3-dialog-return) {
  color: var(--p3-tone-05266e, #05266e) !important; background: var(--p3-tone-79f6ff, #79f6ff) !important; border: 1px solid var(--p3-tone-aafaff, #aafaff) !important;
  border-radius: 0 !important; font-size: 15px; font-weight: 900 !important;
  text-transform: uppercase; box-shadow: 3px 3px 0 var(--p3-tone-021c62, #021c62); text-shadow: none;
  transition: background-color .2s, box-shadow .2s, transform .2s;
}
body.theme-persona :is(.add-btn, .save-btn, .quest-submit, .avatar-buy):hover { background: #fff !important; transform: translateY(-2px); }
body.theme-persona :is(.del-btn, .wait-remove) { color: var(--p3-tone-ffcdd6, #ffcdd6) !important; border-color: var(--p3-tone-e5677b, #e5677b) !important; background: var(--p3-tone-761b46, #761b46) !important; border-radius: 0; }
body.theme-persona :is(.theme-preview-btn, .showcase-edit, .trophy-edit, .theme-preview-bar button) { background: var(--p3-tone-163a8c, #163a8c) !important; color: #fff !important; border: 1px solid var(--p3-tone-8fd3ff, #8fd3ff) !important; border-radius: 0 !important; }
body.theme-persona .impulse-badge { color: #fff !important; background: var(--p3-tone-073288, #073288) !important; border: 1px solid var(--p3-tone-77b6f3, #77b6f3); border-radius: 0; }
body.theme-persona .impulse-dot { background: var(--p3-tone-79f6ff, #79f6ff) !important; box-shadow: none; }
body.theme-persona .ac-drop { background: var(--p3-tone-092b79, #092b79) !important; border-radius: 0; border-color: var(--p3-tone-79d2ff, #79d2ff); color: #fff; }
body.theme-persona .ac-item:hover { background: var(--p3-tone-164798, #164798) !important; }
body.theme-persona :is(.ac-sub, .ac-head) { color: var(--p3-tone-c9e3ff, #c9e3ff) !important; }

/* Sheets, ratings, comments, radar and achievements have one dark surface. */
body.theme-persona .overlay { background: var(--p3-tone-000b34bb, #000b34bb) !important; backdrop-filter: blur(8px); }
body.theme-persona .sheet { background: var(--p3-tone-071e65, #071e65) !important; border: 1px solid var(--p3-tone-7aceff, #7aceff) !important; border-top: 5px solid var(--p3-tone-79f6ff, #79f6ff) !important; border-radius: 0 !important; color: var(--p3-tone-f6fdff, #f6fdff) !important; box-shadow: 9px 9px 0 var(--p3-tone-0038d466, #0038d466); }
body.theme-persona .sh-head { background: var(--p3-tone-f6fdff, #f6fdff) !important; border-color: var(--p3-tone-2f63b9, #2f63b9) !important; padding: 19px 24px; gap: 16px; }
body.theme-persona .sh-head h2 { color: var(--p3-tone-082864, #082864) !important; font-size: 24px; font-weight: 900 !important; font-style: italic; line-height: 1.15; text-transform: uppercase; overflow-wrap: anywhere; }
body.theme-persona .sh-head .x { color: var(--p3-tone-0b3379, #0b3379) !important; flex-shrink: 0; background: transparent; }
body.theme-persona .sh-head::before, body.theme-persona .sh-head::after { content: none; }
body.theme-persona .sh-body { color: var(--p3-tone-e5f3ff, #e5f3ff) !important; }
body.theme-persona .sh-foot { background: var(--p3-tone-0a2b78, #0a2b78) !important; border-color: var(--p3-tone-4979c1, #4979c1) !important; }
body.theme-persona :is(.score3, .calc, .crit-view, .crit-edit, .note-box, .review-card, .use-card) { background: var(--p3-tone-0d3281, #0d3281) !important; border: 1px solid var(--p3-tone-4f7dbb, #4f7dbb) !important; border-radius: 0 !important; color: var(--p3-tone-f6fdff, #f6fdff) !important; }
body.theme-persona :is(.score3 .c, .calc .c) { border-color: var(--p3-tone-4f7dbb, #4f7dbb) !important; }
body.theme-persona :is(.score3 .c b, .calc .c b) { color: var(--p3-tone-79f6ff, #79f6ff) !important; -webkit-text-fill-color: var(--p3-tone-79f6ff, #79f6ff) !important; background: none !important; font-size: 29px; font-weight: 900; }
body.theme-persona :is(.score3 .c small, .calc .c small, .review-head span, .meta-row, .duel-row, .review-empty) { color: var(--p3-tone-c3deff, #c3deff) !important; }
body.theme-persona :is(.note-box, .review-card p, .review-head b, .crit-view .cv-line span, .crit-view .cv-line b, .sl span, .sl b) { color: var(--p3-tone-f6fdff, #f6fdff) !important; -webkit-text-fill-color: var(--p3-tone-f6fdff, #f6fdff) !important; }
body.theme-persona .crit-view .track { background: var(--p3-tone-42639e, #42639e) !important; }
body.theme-persona .crit-view .track i { background: var(--p3-tone-79f6ff, #79f6ff) !important; }
body.theme-persona .sl input[type='range'] { background: var(--p3-tone-31538f, #31538f) !important; accent-color: var(--p3-tone-79f6ff, #79f6ff); }
body.theme-persona .sl input[type='range']::-webkit-slider-thumb { background: var(--p3-tone-79f6ff, #79f6ff) !important; border: 2px solid var(--p3-tone-f6fdff, #f6fdff); border-radius: 0; box-shadow: 0 0 0 3px var(--p3-tone-041e69, #041e69); }
body.theme-persona .sl input[type='range']::-moz-range-thumb { background: var(--p3-tone-79f6ff, #79f6ff) !important; border: 2px solid var(--p3-tone-f6fdff, #f6fdff); border-radius: 0; }
body.theme-persona .sw .tr { background: var(--p3-tone-375682, #375682) !important; border: 1px solid var(--p3-tone-7897c5, #7897c5); }
body.theme-persona .sw input:checked + .tr { background: var(--p3-tone-79f6ff, #79f6ff) !important; }
body.theme-persona .sw .lb { color: var(--p3-tone-e1efff, #e1efff) !important; }
body.theme-persona .voters .chip { background: var(--p3-tone-16408c, #16408c) !important; color: var(--p3-tone-e6f5ff, #e6f5ff) !important; border-color: var(--p3-tone-6da0dc, #6da0dc) !important; border-radius: 0; }
body.theme-persona #profBody svg text { fill: var(--p3-tone-e3faff, #e3faff) !important; font-size: 12px; }
body.theme-persona #profBody svg polygon { stroke: var(--p3-tone-79f6ff, #79f6ff); }
body.theme-persona #profBody { color: var(--p3-tone-e3faff, #e3faff) !important; }
body.theme-persona #profBody > div > div { color: var(--p3-tone-f5fdff, #f5fdff) !important; }
body.theme-persona :is(.ach, .ach.locked) { background: var(--p3-tone-092978, #092978) !important; border: 1px solid var(--p3-tone-577fc0, #577fc0) !important; border-radius: 0 !important; color: #fff !important; opacity: 1 !important; filter: none !important; }
body.theme-persona .ach.unlocked { background: var(--p3-tone-104589, #104589) !important; border-color: var(--p3-tone-79f6ff, #79f6ff) !important; }
body.theme-persona .ach :is(.nm, .ds, .pgt, .pgn) { color: var(--p3-tone-ecf7ff, #ecf7ff) !important; -webkit-text-fill-color: var(--p3-tone-ecf7ff, #ecf7ff) !important; }
body.theme-persona .ach .nm { font-weight: 800; font-size: 15px; }
body.theme-persona .ach .ds { font-size: 13px; color: var(--p3-tone-c6e2ff, #c6e2ff) !important; }
body.theme-persona .ach .ic, body.theme-persona .ach.unlocked .ic { background: var(--p3-tone-234b8d, #234b8d) !important; color: var(--p3-tone-a9ceff, #a9ceff) !important; border-radius: 0; }
body.theme-persona .ach.unlocked .ic { color: var(--p3-tone-79f6ff, #79f6ff) !important; background: var(--p3-tone-06336c, #06336c) !important; }
body.theme-persona .ach .pg { background: var(--p3-tone-3b5f9e, #3b5f9e) !important; }
body.theme-persona .ach .pg i, body.theme-persona .ach-pct .bar i { background: var(--p3-tone-79f6ff, #79f6ff) !important; }
body.theme-persona :is(.ach-pct, .ach-pct b, .tier-count, .ach-tier) { color: var(--p3-tone-e4f6ff, #e4f6ff) !important; }
body.theme-persona .ach-toast, body.theme-persona .toast { background: var(--p3-tone-071e65, #071e65) !important; border: 1px solid var(--p3-tone-79f6ff, #79f6ff); color: #fff !important; border-radius: 0; }
body.theme-persona :is(.help-p, .help-h, .help-body li, .help-body b) { color: var(--p3-tone-e5f3ff, #e5f3ff) !important; }

/* Social links, quests, inventory and calendar. */
body.theme-persona :is(.friend-card, .profile-hero, .profile-panel, .profile-action, .quest-panel, .quest-create, .wait-form, .wait-game, .avatar-product, .theme-product, .admin-bank, .quest-item, .empty-feature) {
  background: var(--p3-tone-082879f2, #082879f2) !important; color: var(--p3-tone-f6fdff, #f6fdff) !important;
  border: 1px solid var(--p3-tone-518cce, #518cce) !important; border-radius: 0 !important;
  box-shadow: none; backdrop-filter: none;
}
body.theme-persona :is(.friend-card, .profile-action):hover { background: var(--p3-tone-104395, #104395) !important; border-color: var(--p3-tone-79f6ff, #79f6ff) !important; }
body.theme-persona :is(.friend-name, .friend-metrics b, .profile-stat b, .profile-id, .profile-action b, .theme-product h3, .avatar-product h2, .wait-game h3, .quest-item h3, .quest-panel h2) { color: var(--p3-tone-f6fdff, #f6fdff) !important; }
body.theme-persona :is(.friend-metrics span, .profile-handle, .profile-panel-title, .profile-stat span, .profile-action span, .theme-product p, .avatar-product p, .wait-game p, .quest-item p, .quest-item small) { color: var(--p3-tone-c7e3ff, #c7e3ff) !important; }
body.theme-persona .profile-hero { border-left: 4px solid var(--p3-tone-79f6ff, #79f6ff) !important; }
body.theme-persona .profile-hero::after { display: none; }
body.theme-persona .profile-avatar { border-radius: 0; background: var(--p3-tone-79f6ff, #79f6ff) !important; color: var(--p3-tone-062573, #062573) !important; box-shadow: 4px 4px 0 var(--p3-tone-0343c1, #0343c1); }
body.theme-persona .profile-level b { color: var(--p3-tone-79f6ff, #79f6ff) !important; font-size: 54px; font-style: italic; }
body.theme-persona .profile-level span { color: var(--p3-tone-d4eaff, #d4eaff) !important; }
body.theme-persona .profile-stat { border-radius: 0; background: var(--p3-tone-15428b, #15428b) !important; }
body.theme-persona .trophy-medal { border-radius: 0; background: var(--p3-tone-0b307d, #0b307d) !important; }
body.theme-persona .trophy-medal b { color: var(--p3-tone-effbff, #effbff) !important; }
body.theme-persona .profile-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.theme-persona .profile-action b { margin: 15px 0 5px; }
body.theme-persona .quest-board { border: 1px solid var(--p3-tone-5bc4f5, #5bc4f5) !important; background: var(--p3-tone-041e68, #041e68) !important; border-radius: 0; padding-top: 42px; box-shadow: none; }
body.theme-persona .quest-board::before { color: var(--p3-tone-abfcff, #abfcff) !important; }
body.theme-persona .quest-paper, body.theme-persona .quest-paper:nth-child(n) { background: var(--p3-tone-124293, #124293) !important; color: #fff !important; border: 1px solid var(--p3-tone-589cde, #589cde); border-top: 3px solid var(--p3-tone-79f6ff, #79f6ff); border-radius: 0; box-shadow: 3px 3px 0 var(--p3-tone-001952, #001952); transform: none; opacity: 1; filter: none; }
body.theme-persona .quest-paper::before { background: var(--p3-tone-79f6ff, #79f6ff) !important; }
body.theme-persona .quest-paper h3 { color: white !important; }
body.theme-persona .quest-paper .route { color: var(--p3-tone-d9efff, #d9efff) !important; }
body.theme-persona .quest-paper .paper-meta { color: var(--p3-tone-adffff, #adffff) !important; }
body.theme-persona .quest-paper.done { border-color: var(--p3-tone-80a2cc, #80a2cc); background: var(--p3-tone-143773, #143773) !important; }
body.theme-persona .wait-month { border-left-color: var(--p3-tone-79f6ff, #79f6ff) !important; }
body.theme-persona .wait-month-title { font-size: 20px; font-style: italic; font-weight: 800; }
body.theme-persona .wait-date { background: var(--p3-tone-79f6ff, #79f6ff) !important; color: var(--p3-tone-08276c, #08276c) !important; border-radius: 0; }
body.theme-persona .wait-date :is(b,span) { color: var(--p3-tone-08276c, #08276c) !important; }
body.theme-persona .theme-section { border-color: var(--p3-tone-79f6ff, #79f6ff); }
body.theme-persona .theme-section-head h2 { color: #fff !important; font-size: 26px; font-style: italic; }
body.theme-persona .theme-shop { grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); }
body.theme-persona .theme-actions { gap: 8px; }
body.theme-persona .theme-preview-bar { border-radius: 0; background: var(--p3-tone-f6fdff, #f6fdff) !important; color: var(--p3-tone-06266c, #06266c) !important; border: 2px solid var(--p3-tone-0c54d9, #0c54d9); box-shadow: 5px 5px 0 var(--p3-tone-ed2849, #ed2849); }

/* The shop preview stays recognisable from EVERY theme. */
html body .theme-preview-persona { background: var(--p3-tone-063fc4, #063fc4) url('./persona-midnight-v1.png') 78% center / cover no-repeat !important; border: 0; }
html body .theme-preview-persona::before { content: 'MIDNIGHT\A TIDE / 03' !important; inset: 30px auto auto 20px !important; color: #fff !important; font: italic 900 42px/.84 'Roboto Condensed','Arial Narrow',sans-serif !important; letter-spacing: -.04em !important; transform: rotate(-6deg) !important; text-shadow: 3px 3px 0 var(--p3-tone-041e77, #041e77) !important; white-space: pre !important; }
html body .theme-preview-persona::after { content: 'PERSONA-INSPIRED / LIVE UI' !important; display: block !important; inset: auto auto 18px 20px !important; width: auto !important; height: auto !important; padding: 6px 9px; color: var(--p3-tone-072461, #072461) !important; background: var(--p3-tone-79f6ff, #79f6ff) !important; clip-path: none !important; transform: rotate(-4deg) !important; box-shadow: 3px 3px 0 var(--p3-tone-e92443, #e92443) !important; border: 0 !important; border-radius: 0 !important; font: 800 10px 'Roboto Condensed',sans-serif !important; letter-spacing: .06em; }

/* Small, real controls for decorative motion; the time is a theme motif. */
body.theme-persona .p3-hud { display: flex; position: fixed; z-index: 30; right: clamp(16px,3vw,55px); top: 24px; flex-direction: column; align-items: flex-end; color: #fff; }
.p3-date { display: flex; gap: 7px; font-size: 11px; letter-spacing: .16em; font-weight: 800; background: var(--p3-tone-082a8ee8, #082a8ee8); padding: 6px 10px; border-bottom: 2px solid var(--p3-tone-79f6ff, #79f6ff); }
.p3-time { display: flex; flex-direction: column; align-items: flex-end; padding: 8px 10px; background: var(--p3-tone-082a8ee8, #082a8ee8); font-size: 45px; font-style: italic; font-weight: 900; line-height: 1; }
.p3-time small { font-size: 10px; font-style: normal; letter-spacing: .23em; color: var(--p3-tone-b4ffff, #b4ffff); margin-top: 4px; }
.p3-controls { display: flex; gap: 6px; margin-top: 10px; }
.p3-controls button { border: 1px solid var(--p3-tone-8aeeff, #8aeeff); color: var(--p3-tone-e8fcff, #e8fcff); background: var(--p3-tone-05216ecc, #05216ecc); padding: 8px 10px; font-size: 11px; min-height: 34px; }
.p3-controls button:hover { background: var(--p3-tone-0f49a3, #0f49a3); }
body.theme-persona .site-help { width: 38px; height: 38px; border-radius: 0; color: var(--p3-tone-072461, #072461) !important; background: var(--p3-tone-79f6ff, #79f6ff) !important; border: 1px solid white; box-shadow: 3px 3px 0 var(--p3-tone-0042b9, #0042b9); }
.p3-dialog { margin: auto; max-width: min(520px,calc(100vw - 36px)); width: 520px; max-height: calc(100svh - 36px); overflow: auto; padding: 40px 34px 34px; border: 1px solid var(--p3-tone-a6faff, #a6faff); border-top: 5px solid var(--p3-tone-79f6ff, #79f6ff); background: var(--p3-tone-061e69, #061e69); color: var(--p3-tone-f6fdff, #f6fdff); box-shadow: 8px 8px 0 var(--p3-tone-0856c955, #0856c955); text-align: center; }
.p3-dialog::backdrop { background: var(--p3-tone-020c3cdd, #020c3cdd); backdrop-filter: blur(12px); }
.p3-close { position: absolute; top: 8px; right: 12px; border: 0; background: transparent; color: var(--p3-tone-a3faff, #a3faff); font-size: 28px; width: 36px; height: 36px; cursor: pointer; }
.p3-clock { position: relative; width: 170px; height: 170px; margin: 8px auto 28px; border: 1px solid var(--p3-tone-a2faff, #a2faff); border-radius: 50%; background: radial-gradient(circle at 65% 36%,var(--p3-tone-95faff, #95faff) 0 21px,transparent 22px),radial-gradient(circle at 50% 50%,var(--p3-tone-0a3c92, #0a3c92),var(--p3-tone-051b60, #051b60)); box-shadow: 0 0 0 9px var(--p3-tone-80fbff0a, #80fbff0a),0 0 0 10px var(--p3-tone-80fbff33, #80fbff33),0 0 75px var(--p3-tone-28e5ff22, #28e5ff22); }
.p3-clock::before { content: ''; position: absolute; left: calc(50% - 1px); width: 2px; top: 14px; height: 69px; background: var(--p3-tone-defcff, #defcff); transform-origin: bottom; animation: p3-hand 60s linear infinite; }
.p3-clock::after { content: ''; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--p3-tone-e92443, #e92443); left: calc(50% - 4px); top: calc(50% - 4px); box-shadow: 0 -68px 0 -2px var(--p3-tone-baffff, #baffff),0 68px 0 -2px var(--p3-tone-baffff, #baffff),68px 0 0 -2px var(--p3-tone-baffff, #baffff),-68px 0 0 -2px var(--p3-tone-baffff, #baffff); }
.p3-clock-number { position: absolute; bottom: 30px; left: 0; right: 0; color: var(--p3-tone-c6fbff, #c6fbff); font-size: 11px; letter-spacing: .2em; }
@keyframes p3-hand { to { transform: rotate(360deg); } }
.p3-dialog-kicker { color: var(--p3-tone-8dffff, #8dffff); font-size: 11px; letter-spacing: .27em; font-weight: 700; }
.p3-dialog h2 { font-size: 39px; font-style: italic; text-transform: uppercase; line-height: .98; margin: 14px 0 18px; }
.p3-dialog p { color: var(--p3-tone-d6ebff, #d6ebff); font-size: 17px; line-height: 1.5; }
.p3-dialog-return { padding: 12px 22px; margin-top: 25px; cursor: pointer; }

/* Real layout reflow instead of zooming the entire interface. */
@media (min-width:1900px) {
  body.theme-persona { --nav-w: 280px; }
  body.theme-persona .app-nav-btn { font-size: 24px !important; min-height: 51px; }
  body.theme-persona .wrap { max-width: 1470px; }
}
@media (max-width:1400px) {
  body.theme-persona { --nav-w: 224px; }
  body.theme-persona .app-nav { padding-left: 17px !important; padding-right: 17px !important; }
  body.theme-persona .app-nav-btn { font-size: 19px !important; }
  body.theme-persona .nav-account { margin-left: -17px !important; margin-right: -17px !important; width: calc(100% + 34px); }
  body.theme-persona .wrap { width: calc(100% - 260px); padding-left: 28px; padding-right: 24px; }
  body.theme-persona .toolbar { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto !important; }
  body.theme-persona .toolbar .search { grid-column: 1/-1; }
  body.theme-persona .p3-controls { flex-direction: column; }
  body.theme-persona .p3-hud { right: 16px; }
}
@media (max-width:1100px) {
  body.theme-persona .wrap { width: 100%; padding-left: 30px; padding-right: 25px; }
  body.theme-persona .p3-scene { background-position: 74% center; }
  body.theme-persona .p3-scene::before { background: var(--p3-tone-051e7355, #051e7355); }
  body.theme-persona .p3-hud { position: absolute; top: 28px; right: 0; }
  body.theme-persona .p3-date { display: none; }
  body.theme-persona .p3-time { font-size: 31px; }
  body.theme-persona .p3-controls { flex-direction: row; }
  body.theme-persona .profile-showcase { grid-template-columns: 1fr; }
}
@media (max-height:780px) and (min-width:901px) {
  body.theme-persona .app-nav { padding-top: 18px !important; }
  body.theme-persona .brand-lockup { padding-bottom: 15px !important; }
  body.theme-persona .brand-logo { height: 47px; }
  body.theme-persona .mode-portal { margin-bottom: 12px !important; }
  body.theme-persona .nav-label { margin-bottom: 7px; }
  body.theme-persona .app-nav-btn { min-height: 39px; padding-top: 7px; padding-bottom: 7px; }
  body.theme-persona .app-nav-items { margin-bottom: 16px; }
}
@media (max-height:630px) and (min-width:901px) {
  body.theme-persona .app-nav { overflow-y: auto; overflow-x: hidden; }
  body.theme-persona .app-nav-items, body.theme-persona .nav-account { flex-shrink: 0; }
}
@media (max-width:900px) {
  body.theme-persona .app-shell { display: block; }
  body.theme-persona .app-nav { position: relative; inset: auto; width: 100%; height: auto !important; min-height: 0; border-radius: 0 !important; padding: 16px 20px !important; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto auto; gap: 12px 22px; box-shadow: 0 4px 0 var(--p3-tone-79f6ff, #79f6ff); }
  body.theme-persona .app-nav::before, body.theme-persona .app-nav::after { display: none; }
  body.theme-persona .brand-lockup { display: block !important; padding: 0 !important; align-self: center; }
  body.theme-persona .brand-logo { width: 130px; height: 43px; }
  body.theme-persona .mode-portal { position: static !important; margin: 0 !important; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; width: 183px; align-self: center; }
  body.theme-persona .nav-label { display: none; }
  body.theme-persona .app-nav-items { display: grid; height: auto; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; grid-column: 1/-1; margin: 0; transform: none; overflow: visible; }
  body.theme-persona .app-nav-btn { flex-direction: row; justify-content: flex-start; align-items: center; padding: 10px 9px; min-height: 40px; font-size: 16px !important; gap: 6px; white-space: normal; width: auto; }
  body.theme-persona .app-nav-btn::after { display: none !important; }
  body.theme-persona .app-nav-btn.on { box-shadow: 2px 2px 0 var(--p3-tone-e92443, #e92443); }
  body.theme-persona .nav-account { display: flex !important; grid-column: 1/-1; width: auto; margin: 0 !important; padding: 10px 0 0 !important; background: transparent !important; border-top-color: var(--p3-tone-bdd2ef, #bdd2ef) !important; }
  body.theme-persona .nav-user { display: flex; align-items: baseline; gap: 12px; }
  body.theme-persona .nav-avatar { width: 27px; height: 27px; font-size: 12px; }
  body.theme-persona .nav-user b { font-size: 13px; }
  body.theme-persona .app-main { min-height: 80svh !important; }
  body.theme-persona .wrap { width: 100%; max-width: none; padding: 0 25px 80px; }
  body.theme-persona header { padding-top: 32px; min-height: 165px; }
  body.theme-persona .word { font-size: 54px !important; }
  body.theme-persona .p3-hud { position: absolute; top: 28px; right: 0; }
  body.theme-persona .p3-scene { background-position: 76% center; }
  body.theme-persona .p3-scene::before { background: var(--p3-tone-05237680, #05237680); }
  body.theme-persona .section-head { flex-wrap: wrap; }
}
@media (max-width:600px) {
  body.theme-persona .app-nav { padding: 14px 16px !important; gap: 13px 10px; }
  body.theme-persona .mode-portal { width: 163px; }
  body.theme-persona .brand-logo { width: 112px; height: 42px; }
  body.theme-persona .app-nav-items { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 8px; }
  body.theme-persona .app-nav-btn { min-height: 36px; font-size: 18px !important; padding: 7px 8px; }
  body.theme-persona .app-nav-btn[data-page='profile'] { grid-column: 2; grid-row: 4; }
  body.theme-persona .wrap { padding-left: 16px; padding-right: 16px; }
  body.theme-persona header { min-height: 167px; padding: 26px 0 52px; }
  body.theme-persona .word { font-size: 49px !important; }
  body.theme-persona header::after { bottom: 7px; font-size: 9px; letter-spacing: .1em; }
  body.theme-persona .p3-hud { position: absolute; top: 24px; right: 0; }
  body.theme-persona .p3-time { font-size: 30px; padding: 6px; }
  body.theme-persona .p3-controls { flex-direction: column; gap: 5px; margin-top: 6px; }
  body.theme-persona .p3-controls button { font-size: 10px; padding: 6px 8px; min-height: 30px; }
  body.theme-persona .sc-head { gap: 7px; padding: 10px; }
  body.theme-persona .sc-head h2 { font-size: 16px; }
  body.theme-persona .sc-head span { display: none; }
  body.theme-persona .showcase { padding: 16px 13px 9px; }
  body.theme-persona .hero808 { padding: 17px; }
  body.theme-persona .hero808 .h-metrics { gap: 8px 16px; }
  body.theme-persona .toolbar { grid-template-columns: 1fr 1fr !important; }
  body.theme-persona .toolbar .search { grid-column: 1/-1; }
  body.theme-persona .toolbar .flt { grid-column: auto; min-width: 0; padding-left: 9px; padding-right: 22px; }
  body.theme-persona .toolbar .add-btn { grid-column: 1/-1; min-height: 42px; }
  body.theme-persona .row { grid-template-columns: 27px minmax(0,1fr) auto; gap: 8px; padding: 14px 10px; }
  body.theme-persona .row .bars { display: none; }
  body.theme-persona .row .rnk { font-size: 20px; }
  body.theme-persona .row .info h3 { font-size: 15px; }
  body.theme-persona .row .sc-cell { min-width: 52px; }
  body.theme-persona .row .sc-cell b { font-size: 26px; }
  body.theme-persona .row .sc-cell small { font-size: 8px; }
  body.theme-persona .profile-hero { padding: 20px 16px; grid-template-columns: 66px minmax(0,1fr); gap: 16px; }
  body.theme-persona .profile-avatar { width: 66px; height: 66px; font-size: 30px; }
  body.theme-persona .profile-id { font-size: 29px; overflow-wrap: anywhere; }
  body.theme-persona .profile-level { grid-column: 1/-1; text-align: left; display: flex; align-items: center; gap: 12px; }
  body.theme-persona .profile-level b { font-size: 36px; }
  body.theme-persona .profile-panel { padding: 16px; }
  body.theme-persona .trophy-row { flex-wrap: wrap; }
  body.theme-persona .trophy-medal { min-width: 75px; }
  body.theme-persona .quest-columns { grid-template-columns: 1fr; }
  body.theme-persona :is(.quest-create, .wait-form) { display: grid; grid-template-columns: 1fr; }
  body.theme-persona .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.theme-persona .avatar-product-body { padding: 12px; }
  body.theme-persona .avatar-product h2 { font-size: 16px; }
  body.theme-persona .theme-shop { grid-template-columns: 1fr; }
  body.theme-persona .sheet { max-width: calc(100vw - 24px); width: 100%; }
  body.theme-persona .sh-head { padding: 17px; }
  body.theme-persona .sh-head h2 { font-size: 21px; }
  body.theme-persona .sh-body { padding: 20px 16px; }
  body.theme-persona .score3 .c, body.theme-persona .calc .c { padding: 12px; }
  body.theme-persona .sl { gap: 10px; }
  body.theme-persona .sl span { width: 87px; font-size: 13px; }
  body.theme-persona .theme-preview-bar { bottom: 14px; width: calc(100% - 28px); max-width: none; flex-wrap: wrap; justify-content: center; gap: 8px; }
}
@media (max-width:370px) {
  body.theme-persona .p3-time { display: none; }
  body.theme-persona .p3-hud { top: 28px; }
  body.theme-persona .word { font-size: 42px !important; }
  body.theme-persona .brand-logo { width: 90px; }
  body.theme-persona .mode-portal { width: 151px; }
}

/* Pausing never leaves entrance-animated content invisible. */
body.theme-persona.p3-paused *, body.theme-persona.p3-paused *::before, body.theme-persona.p3-paused *::after,
body.theme-persona.p3-suspended *, body.theme-persona.p3-suspended *::before, body.theme-persona.p3-suspended *::after { animation-play-state: paused !important; }
body.theme-persona.p3-paused .app-page.on, body.theme-persona.p3-paused .sheet { animation: none !important; opacity: 1; transform: none; }
body.theme-persona.p3-paused * { scroll-behavior: auto !important; transition: none !important; }
@media (prefers-reduced-motion:reduce) {
  body.theme-persona *, body.theme-persona *::before, body.theme-persona *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  body.theme-persona .row { opacity: 1 !important; transform: none !important; }
}
