/* JRPG.WORLD PSO MASTER SHELL v1.0
   Canonical identity derived from /pso/. Existing world content stays intact;
   this stylesheet standardizes the shared frame, services and section language. */
:root{
  --jwm-bg:#030b12;
  --jwm-bg2:#06131f;
  --jwm-panel:#071b2a;
  --jwm-panel2:#0b2940;
  --jwm-line:#317ca0;
  --jwm-line-soft:#285b78;
  --jwm-cyan:#69e5ff;
  --jwm-cyan2:#1fa9d9;
  --jwm-pink:#ff79b7;
  --jwm-pink2:#ef4a8f;
  --jwm-gold:#ffe58b;
  --jwm-green:#78ffbb;
  --jwm-text:#eef7ff;
  --jwm-muted:#9eb8c8;
  --jwm-radius:26px;
  --jwm-radius-small:18px;
  --jwm-shadow:0 20px 70px rgba(0,0,0,.48);
}

body.jw-master-identity{
  background:
    radial-gradient(circle at 78% 12%,rgba(239,74,143,.055),transparent 25rem),
    radial-gradient(circle at 10% 38%,rgba(33,200,220,.09),transparent 30rem),
    linear-gradient(180deg,var(--jwm-bg),var(--jwm-bg2) 60%,#040d15)!important;
  color:var(--jwm-text);
}
body.jw-master-identity::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.18;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:32px 32px;
}

/* One content width everywhere: PSO is the ruler. */
body.jw-master-identity .shell,
body.jw-master-identity .section-shell,
body.jw-master-identity main > section,
body.jw-master-identity .jw-site-main,
body.jw-master-identity .jw-master-stack{
  max-width:1180px;
}

.jw-master-stack{
  width:min(1180px,calc(100% - 28px));
  margin:0 auto 16px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* Canonical world identity banner. Same anatomy on every world. */
.jw-master-memory{
  position:relative;
  overflow:hidden;
  min-height:126px;
  border:1px solid #2e5379;
  border-radius:20px;
  margin:0 0 14px;
  background:#02060c;
  box-shadow:0 14px 38px rgba(0,0,0,.45);
  isolation:isolate;
}
.jw-master-memory-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 35%;
  opacity:.54;transform:scale(1.01);filter:saturate(.9) contrast(1.04);
}
.jw-master-memory::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(2,8,18,.96) 0,rgba(6,16,26,.83) 34%,rgba(4,10,16,.18) 72%,rgba(2,8,18,.82) 100%),
    linear-gradient(180deg,transparent,rgba(0,0,0,.22));
}
.jw-master-memory-copy{
  position:relative;z-index:1;
  max-width:650px;padding:18px;
}
.jw-master-kicker{
  color:#9feaff;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
}
.jw-master-memory h1,
.jw-master-memory h2{
  margin:5px 0 4px!important;
  color:var(--jwm-gold)!important;
  font-size:22px!important;line-height:1.1!important;letter-spacing:0!important;
}
.jw-master-memory p{
  margin:0!important;color:#d7e8f7!important;font-size:12px!important;line-height:1.5!important;max-width:620px!important;
}

/* Canonical ask/service module. */
.jw-master-service{
  position:relative;overflow:hidden;
  padding:16px;
  border:1px solid #355e88;
  border-radius:var(--jwm-radius);
  background:linear-gradient(180deg,rgba(16,40,68,.93),rgba(7,21,35,.96));
  box-shadow:0 24px 80px rgba(0,0,0,.50),inset 0 1px rgba(255,255,255,.08);
}
.jw-master-service::before{
  content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-170px;top:-210px;
  background:rgba(61,134,191,.12);filter:blur(4px);pointer-events:none;
}
.jw-master-prompt-label{
  position:relative;z-index:1;margin:0 0 8px 5px;
  color:#b5cbe0;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
}
.jw-master-form{position:relative;z-index:1;display:flex;gap:9px}
.jw-master-prompt{
  flex:1;min-width:0;padding:15px 16px;
  border:1px solid #4d79a5;border-radius:18px;outline:none;
  background:rgba(4,16,29,.82);color:#fff;font:500 17px/1.2 inherit;
  box-shadow:inset 0 1px rgba(255,255,255,.06);
}
.jw-master-prompt:focus{border-color:var(--jwm-cyan);box-shadow:0 0 0 3px rgba(85,223,255,.12)}
.jw-master-go{
  min-width:76px;border:1px solid var(--jwm-gold);border-radius:18px;cursor:pointer;
  background:linear-gradient(135deg,#7257df,#1b79b6);color:#fff;font-weight:1000;font-size:18px;
}
.jw-master-go:hover{filter:brightness(1.09)}
.jw-master-examples{position:relative;z-index:1;display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.jw-master-example{
  border:1px solid #31577f;border-radius:999px;background:#071728;color:#cfe2f2;
  font:700 11px/1.2 inherit;padding:6px 9px;cursor:pointer;
  transition:border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.jw-master-example:hover,.jw-master-example:focus-visible{
  border-color:var(--jwm-pink);color:#fff;box-shadow:0 0 14px rgba(255,121,183,.11);outline:none;
}
.jw-master-status{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin-top:11px;color:#86b1c5;font-size:11px}
.jw-master-status-dot{width:7px;height:7px;border-radius:50%;background:var(--jwm-green);box-shadow:0 0 9px var(--jwm-green)}


/* Gloria voyage context: story help never guesses where the player is. */
.jw-gloria-voyage{
  position:relative;z-index:1;display:flex;align-items:stretch;gap:8px;margin-top:10px;flex-wrap:wrap;
}
.jw-gloria-voyage-field{
  flex:1 1 260px;display:flex;align-items:center;gap:10px;min-width:0;padding:7px 11px;
  border:1px solid #315c70;border-radius:14px;background:rgba(3,20,28,.72);
}
.jw-gloria-voyage-field>span{
  flex:0 0 auto;color:#80dce6;font:900 9px/1 inherit;letter-spacing:.15em;white-space:nowrap;
}
.jw-gloria-voyage-field input{
  width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f5fbfc;font:700 12px/1.2 inherit;
}
.jw-gloria-voyage-field input::placeholder{color:#7799a4}
.jw-gloria-spoiler-toggle{
  flex:0 0 auto;border:1px solid #477b83;border-radius:14px;background:#08232c;color:#b9d8dc;
  padding:0 13px;min-height:38px;cursor:pointer;font:900 10px/1 inherit;letter-spacing:.1em;
}
.jw-gloria-spoiler-toggle.is-on{border-color:#d7b956;color:#fff0a7;background:linear-gradient(180deg,#172c2e,#10252b)}
.jw-gloria-spoiler-toggle span{margin-right:5px;color:#ffd45f}
@media(max-width:620px){
  .jw-gloria-voyage{gap:6px}
  .jw-gloria-voyage-field{flex-basis:100%;padding:9px 11px}
  .jw-gloria-spoiler-toggle{width:100%;min-height:36px}
}

/* Fixed Expert opener. PSO's pink hover behavior is now site identity. */
.jw-master-opener{
  position:relative;
  height:110px;min-height:110px;max-height:110px;
  margin-top:16px;overflow:hidden;cursor:pointer;user-select:none;
  display:flex;align-items:center;justify-content:center;gap:9px;
  border:1px solid var(--jwm-line);border-radius:var(--jwm-radius);
  background:
    linear-gradient(135deg,rgba(96,229,255,.035),transparent 18%),
    linear-gradient(180deg,rgba(7,31,49,.985),rgba(3,15,26,.985));
  box-shadow:0 0 0 1px rgba(90,218,255,.07) inset,0 0 26px rgba(25,157,198,.08);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.jw-master-opener::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.022) 0 1px,transparent 1px 4px);
}
.jw-master-opener:hover,.jw-master-opener:focus-visible{
  border-color:var(--jwm-pink);
  box-shadow:0 0 0 1px rgba(255,121,183,.22) inset,0 0 22px rgba(255,74,157,.20);
  outline:none;
}
.jw-master-opener-mark{position:relative;z-index:2;color:var(--jwm-cyan);font-size:20px;text-shadow:0 0 10px rgba(94,229,255,.55)}
.jw-master-opener:hover .jw-master-opener-mark,.jw-master-opener:focus-visible .jw-master-opener-mark{
  color:#ff8bc1;filter:drop-shadow(0 0 7px rgba(255,100,180,.55));
}
.jw-master-opener-copy{
  position:relative;z-index:2;max-width:72%;text-align:center;color:#b5cadc;font-size:13px;line-height:1.45;
  transition:opacity .16s ease,transform .16s ease;
}
.jw-master-opener-copy b{color:#eef7ff}
.jw-master-opener-portrait[hidden]{display:none}
.jw-master-opener-portrait:not([hidden]){
  display:block;position:absolute;z-index:3;top:0;right:0;bottom:0;width:86px;height:110px;overflow:hidden;pointer-events:none;
  animation:jwmPortraitIn .2s ease both;
}
.jw-master-opener-portrait img{
  width:100%;height:100%;max-width:none;display:block;object-fit:cover;object-position:center 22%;
  border-left:1px solid rgba(255,118,180,.65);box-shadow:-10px 0 24px rgba(255,72,156,.14);
}
.jw-master-opener.is-open .jw-master-opener-copy{max-width:62%;transform:translateX(-5px)}
.jw-master-opener.is-swap .jw-master-opener-copy{animation:jwmSwap .22s ease}
@keyframes jwmPortraitIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
@keyframes jwmSwap{from{opacity:.28;transform:translateX(-5px) translateY(2px)}to{opacity:1;transform:translateX(-5px) translateY(0)}}

/* PSO surface grammar becomes the default card grammar. */
body.jw-master-identity .jw-copy-section,
body.jw-master-identity .jw-type-card,
body.jw-master-identity .jw-gotm-card,
body.jw-master-identity .section-shell,
body.jw-master-identity .feature-band,
body.jw-master-identity .media-section,
body.jw-master-identity .verification,
body.jw-master-identity .completion-definition,
body.jw-master-identity .proof-section,
body.jw-master-identity .status-section,
body.jw-master-identity .build-section,
body.jw-master-identity .release-section,
body.jw-master-identity .patch-section,
body.jw-master-identity .video-wrap,
body.jw-master-identity .grid > .card,
body.jw-master-identity .release,
body.jw-master-identity .jw-expert-panel{
  border-color:var(--jwm-line-soft)!important;
  border-radius:var(--jwm-radius-small)!important;
  background:
    linear-gradient(90deg,rgba(73,215,243,.025),transparent 34%),
    linear-gradient(180deg,rgba(9,36,58,.97),rgba(6,24,39,.97))!important;
  box-shadow:0 0 0 1px rgba(90,218,255,.035) inset,0 12px 36px rgba(0,0,0,.18)!important;
}
body.jw-master-identity .jw-copy-section,
body.jw-master-identity .section-shell,
body.jw-master-identity .video-wrap,
body.jw-master-identity .release,
body.jw-master-identity .feature-band{
  margin-top:16px!important;
}
body.jw-master-identity .jw-copy-section:hover,
body.jw-master-identity .jw-type-card:hover,
body.jw-master-identity .grid > .card:hover,
body.jw-master-identity .jw-show-app:hover img{
  border-color:var(--jwm-pink)!important;
  box-shadow:0 0 0 1px rgba(255,121,183,.08) inset,0 0 22px rgba(255,74,157,.08)!important;
}

/* Existing Expert panels: keep their runtime, adopt the canonical identity. */
body.jw-master-identity .jw-expert-panel{
  position:relative;overflow:hidden!important;
  border:1px solid var(--jwm-line)!important;
  padding:16px!important;
}
body.jw-master-identity .jw-expert-panel::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,var(--jwm-cyan),transparent 46%,var(--jwm-pink));opacity:.55;
}
body.jw-master-identity .jw-expert-panel:hover{border-color:#4d91ac!important}
body.jw-master-identity .jw-expert-compose{display:flex!important;gap:9px!important}
body.jw-master-identity .jw-expert-compose input{
  flex:1!important;min-width:0!important;padding:13px 14px!important;
  border:1px solid #4d79a5!important;border-radius:15px!important;background:#04101dcc!important;color:#fff!important;
}
body.jw-master-identity .jw-expert-compose input:focus{border-color:var(--jwm-pink)!important;outline:none!important;box-shadow:0 0 0 3px rgba(255,121,183,.10)!important}
body.jw-master-identity .jw-expert-compose button{
  border:1px solid var(--jwm-gold)!important;border-radius:15px!important;
  background:linear-gradient(135deg,#7257df,#1b79b6)!important;color:#fff!important;font-weight:900!important;
}

/* Landing: retain its content, but make it unmistakably the same product family. */
body.jw-master-identity .jw-landing-hero{
  border-color:var(--jwm-line)!important;
  background:
    radial-gradient(circle at 82% 0,rgba(255,121,183,.08),transparent 32%),
    linear-gradient(145deg,#0b2940,#071b2a 58%,#06131f)!important;
  box-shadow:var(--jwm-shadow)!important;
}
body.jw-master-identity .jw-landing-kicker,
body.jw-master-identity .jw-type-card small,
body.jw-master-identity .section-kicker{color:var(--jwm-cyan)!important}
body.jw-master-identity .jw-cta,
body.jw-master-identity .button.primary,
body.jw-master-identity .button:not(.secondary){
  border-color:#55cce7!important;background:linear-gradient(180deg,#11607c,#0a3850)!important;color:#eefcff!important;
}
body.jw-master-identity .jw-cta:hover,
body.jw-master-identity .button:hover{
  border-color:var(--jwm-pink)!important;box-shadow:0 0 18px rgba(255,121,183,.11)!important;
}

/* Legacy local headers are subordinate now. */
body.jw-master-identity .site-header,
body.jw-master-identity .jw-local-site-header,
body.jw-master-identity .jw-local-inline-title{
  box-shadow:none!important;
}
body.jw-master-identity .jw-local-world-title,
body.jw-master-identity .jw-local-inline-title{color:#93dfee!important}

/* Footer = memory/archive, never a separate design language. */
body.jw-master-identity .jw-random-footer-frame,
body.jw-master-identity .footerFrame{
  border-color:#245b78!important;border-radius:18px!important;background:#04111c!important;
  box-shadow:0 0 22px rgba(38,171,210,.08)!important;
}
body.jw-master-identity .jw-random-footer-frame:hover,
body.jw-master-identity .footerFrame:hover{border-color:var(--jwm-pink)!important}

@media(max-width:720px){
  .jw-master-stack{width:calc(100% - 20px)}
  .jw-master-memory{min-height:105px;border-radius:16px}
  .jw-master-memory-copy{padding:13px}
  .jw-master-memory h1,.jw-master-memory h2{font-size:18px!important}
  .jw-master-memory p{display:none}
  .jw-master-service{padding:10px;border-radius:18px}
  .jw-master-form{gap:6px}
  .jw-master-prompt{font-size:15px;padding:13px 12px;border-radius:15px}
  .jw-master-go{min-width:54px;border-radius:15px;font-size:16px}
  .jw-master-opener{border-radius:18px}
  .jw-master-opener-portrait:not([hidden]){width:72px}
  .jw-master-opener.is-open .jw-master-opener-copy{max-width:64%}
}
@media(max-width:430px){
  .jw-master-opener-portrait:not([hidden]){width:64px}
  .jw-master-opener.is-open .jw-master-opener-copy{max-width:61%;font-size:12px;line-height:1.28}
}
@media(prefers-reduced-motion:reduce){
  .jw-master-opener,.jw-master-opener-copy{transition:none!important}
  .jw-master-opener-portrait:not([hidden]),.jw-master-opener.is-swap .jw-master-opener-copy{animation:none!important}
}

/* ============================================================
   JRPG.WORLD TRANSLATION APP MOLD v1.0
   Canonical translation-page anatomy derived from /gloria/.
   Goal: one continuous app experience under the shared JRPG.WORLD
   chrome, never a second website pasted inside the first one.
   ============================================================ */

body.jw-translation-app{
  --jwt-max:1060px;
  --jwt-bg:#05090d;
  --jwt-panel:#090f14;
  --jwt-panel2:#0d151c;
  --jwt-line:#26333d;
  --jwt-line-bright:#315a70;
  --jwt-text:#f2f7fb;
  --jwt-muted:#a9b4bc;
  --jwt-faint:#66747d;
  --jwt-accent:#8eeaff;
  --jwt-pink:#ff79b7;
  --jwt-radius:14px;
}

/* The shared service stack and translation content use one ruler. */
body.jw-translation-app .jw-master-stack,
body.jw-translation-app .shell,
body.jw-translation-app .section-shell,
body.jw-translation-app .site-header,
body.jw-translation-app .jw-local-site-header{
  width:min(var(--jwt-max),calc(100% - 36px))!important;
  max-width:var(--jwt-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Local app navigation is a compact continuation, not a second masthead. */
body.jw-translation-app .site-header,
body.jw-translation-app .jw-local-site-header{
  min-height:0!important;
  margin-top:clamp(42px,6vw,72px)!important;
  margin-bottom:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
}
body.jw-translation-app .header-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.jw-translation-app .brand-row,
body.jw-translation-app .jw-local-brand-row{
  min-height:0!important;
  margin:0 0 9px!important;
  padding:0!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:9px!important;
}
body.jw-translation-app .jw-local-world-title,
body.jw-translation-app .jw-local-inline-title{
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:5px 8px!important;
  color:#9feaff!important;
  border:1px solid #2c5c73!important;
  border-radius:999px!important;
  background:#071722!important;
  font:900 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

/* Same chip navigation as Gloria Union. */
body.jw-translation-app .main-nav,
body.jw-translation-app .jw-local-site-header nav,
body.jw-translation-app .jw-local-app-nav{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  width:100%!important;
  margin:8px 0 12px!important;
  padding:0 0 9px!important;
  border:0!important;
  border-bottom:1px solid rgba(61,126,153,.28)!important;
  background:transparent!important;
  overflow:visible!important;
}
body.jw-translation-app .main-nav a,
body.jw-translation-app .jw-local-site-header nav a,
body.jw-translation-app .jw-local-app-nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  width:auto!important;
  padding:5px 9px!important;
  color:#a6dbe8!important;
  background:#071823!important;
  border:1px solid #2b5a72!important;
  border-radius:999px!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font:900 8px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  transition:border-color .15s ease,color .15s ease,background .15s ease,box-shadow .15s ease!important;
}
body.jw-translation-app .main-nav a:hover,
body.jw-translation-app .main-nav a.active,
body.jw-translation-app .jw-local-site-header nav a:hover,
body.jw-translation-app .jw-local-app-nav a:hover{
  color:#fff!important;
  background:#0a1e2b!important;
  border-color:var(--jwt-pink)!important;
  box-shadow:0 0 14px rgba(255,121,183,.10)!important;
  transform:none!important;
}

/* Language switch is part of the local utility row, not a billboard. */
body.jw-translation-app .lang-switch{
  display:flex!important;
  gap:6px!important;
  margin-left:auto!important;
}
body.jw-translation-app .lang{
  min-width:42px!important;
  min-height:30px!important;
  padding:0 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #365e74!important;
  border-radius:999px!important;
  background:#08151e!important;
  color:#b9dce7!important;
  box-shadow:none!important;
  font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
}
body.jw-translation-app .lang.active{
  background:#e9f8ff!important;
  color:#081017!important;
  border-color:#fff!important;
}
body.jw-translation-app .lang:hover{
  transform:none!important;
  box-shadow:0 0 14px rgba(255,121,183,.10)!important;
  border-color:var(--jwt-pink)!important;
}

/* Main canvas: no full-width bands. Every translation is one continuous page. */
body.jw-translation-app main{
  background:transparent!important;
}
body.jw-translation-app main > .section-shell:not(.jw-expert-panel),
body.jw-translation-app .feature-band,
body.jw-translation-app .about-section,
body.jw-translation-app .media-section{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.jw-translation-app .feature-band,
body.jw-translation-app .about-section,
body.jw-translation-app .media-section{
  width:min(var(--jwt-max),calc(100% - 36px))!important;
  max-width:var(--jwt-max)!important;
  margin:clamp(46px,7vw,76px) auto 0!important;
  padding:0!important;
}
body.jw-translation-app .feature-band > .section-shell,
body.jw-translation-app .about-section > .section-shell,
body.jw-translation-app .media-section > .section-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:28px 0 0!important;
  border-top:1px solid var(--jwt-line)!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Gloria-like text-first hero. Distinct game art remains, but is subordinate. */
body.jw-translation-app .hero.section-shell,
body.jw-translation-app .shell .hero{
  max-width:var(--jwt-max)!important;
  margin-top:0!important;
  margin-bottom:42px!important;
  padding:clamp(34px,6vw,62px) 0 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.jw-translation-app .hero.section-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,320px)!important;
  gap:clamp(28px,5vw,58px)!important;
  min-height:0!important;
  align-items:center!important;
}
body.jw-translation-app .hero-copy{
  min-width:0!important;
}
body.jw-translation-app .hero .breadcrumb,
body.jw-translation-app .hero .eyebrow{
  margin:0 0 16px!important;
  color:#8d9ba4!important;
  font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.jw-translation-app .hero h1{
  margin:0!important;
  max-width:920px!important;
  color:var(--jwt-text)!important;
  font:820 clamp(43px,7vw,82px)/.93 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:-.06em!important;
  text-transform:none!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
}
body.jw-translation-app .hero h1 span{
  display:inline!important;
  color:inherit!important;
  -webkit-text-stroke:0!important;
}
body.jw-translation-app .hero-lede,
body.jw-translation-app .hero .subtitle{
  max-width:760px!important;
  margin:24px 0 0!important;
  color:#c6d0d6!important;
  font:500 clamp(17px,2.3vw,23px)/1.48 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:-.02em!important;
}

/* Gloria button grammar. */
body.jw-translation-app .hero-actions,
body.jw-translation-app .actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:28px 0 0!important;
}
body.jw-translation-app .button,
body.jw-translation-app .actions .button{
  width:auto!important;
  min-height:46px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #34414a!important;
  border-radius:8px!important;
  background:#eef5f8!important;
  color:#071017!important;
  box-shadow:none!important;
  font:760 13px/1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}
body.jw-translation-app .button.secondary,
body.jw-translation-app .button.ghost,
body.jw-translation-app .button.gold{
  background:transparent!important;
  color:var(--jwt-text)!important;
}
body.jw-translation-app .button:hover{
  transform:translateY(-1px)!important;
  border-color:var(--jwt-pink)!important;
  box-shadow:0 0 16px rgba(255,121,183,.09)!important;
}

/* Release facts become quiet metadata, not a separate mini-site. */
body.jw-translation-app .release-strip,
body.jw-translation-app .hero-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1px!important;
  max-width:780px!important;
  margin-top:22px!important;
  border:1px solid #26343d!important;
  border-radius:10px!important;
  background:#26343d!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.jw-translation-app .release-strip > div,
body.jw-translation-app .hero-stats > div{
  padding:11px 12px!important;
  border:0!important;
  background:#091117!important;
}
body.jw-translation-app .release-strip small,
body.jw-translation-app .hero-stats span{
  color:#778792!important;
  font:700 9px/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
  letter-spacing:.05em!important;
}
body.jw-translation-app .release-strip strong,
body.jw-translation-app .hero-stats strong{
  display:block!important;
  margin-top:4px!important;
  color:#9de9f7!important;
  font:800 12px/1.25 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
}

/* Existing hero art is retained as a restrained editorial artifact. */
body.jw-translation-app .hero-visual,
body.jw-translation-app .runtime-card{
  order:2!important;
  width:100%!important;
  max-width:320px!important;
  margin:0!important;
  align-self:center!important;
}
body.jw-translation-app .case-card,
body.jw-translation-app .runtime-card,
body.jw-translation-app .proof-card,
body.jw-translation-app .screen-frame{
  transform:none!important;
  padding:7px!important;
  border:1px solid #2b3942!important;
  border-radius:12px!important;
  background:#070c10!important;
  box-shadow:0 18px 50px rgba(0,0,0,.24)!important;
  overflow:hidden!important;
}
body.jw-translation-app .case-art,
body.jw-translation-app .case-art img.cover{
  min-height:0!important;
}
body.jw-translation-app .case-art img.cover,
body.jw-translation-app .runtime-card img,
body.jw-translation-app .proof-card img,
body.jw-translation-app .screen-frame img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  border-radius:8px!important;
}
body.jw-translation-app .sprite-badge{
  width:64px!important;
  height:64px!important;
  right:-9px!important;
  bottom:-9px!important;
  border:1px solid #4f7181!important;
  border-radius:12px!important;
  background:#0b2029!important;
  box-shadow:0 10px 24px rgba(0,0,0,.32)!important;
  transform:none!important;
}
body.jw-translation-app .sprite-badge img{width:54px!important}
body.jw-translation-app .case-bar,
body.jw-translation-app .runtime-card figcaption,
body.jw-translation-app .proof-card figcaption{
  color:#73828c!important;
  font:700 9px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
}

/* Expert is the canonical second act, immediately after every hero. */
body.jw-translation-app .jw-expert-panel{
  width:min(var(--jwt-max),calc(100% - 36px))!important;
  max-width:var(--jwt-max)!important;
  margin:clamp(42px,6vw,70px) auto 0!important;
  padding:18px!important;
  border:1px solid #2f627b!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#081722,#061119)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.22)!important;
}
body.jw-translation-app .jw-expert-panel:hover{
  border-color:#43809a!important;
}
body.jw-translation-app .jw-xeno-expert-top{
  gap:18px!important;
}
body.jw-translation-app .jw-xeno-expert-portrait{
  border-radius:10px!important;
  overflow:hidden!important;
}

/* Long-form sections use Gloria's editorial rhythm: separator + content. */
body.jw-translation-app main > .section-shell:not(.hero):not(.jw-expert-panel){
  margin-top:clamp(46px,7vw,76px)!important;
  padding:28px 0 0!important;
  border-top:1px solid var(--jwt-line)!important;
}
body.jw-translation-app .section-head,
body.jw-translation-app .section-heading{
  padding-top:0!important;
}
body.jw-translation-app .section-head h2,
body.jw-translation-app .section-heading h2,
body.jw-translation-app .section-title,
body.jw-translation-app .feature-copy h2{
  margin:4px 0 12px!important;
  color:var(--jwt-text)!important;
  font:800 clamp(25px,4vw,38px)/1.05 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:-.045em!important;
  text-transform:none!important;
  text-shadow:none!important;
}
body.jw-translation-app .section-kicker,
body.jw-translation-app .eyebrow{
  color:#8eeaff!important;
}
body.jw-translation-app .section-head p,
body.jw-translation-app .section-heading p,
body.jw-translation-app .feature-copy p,
body.jw-translation-app .about-grid p{
  color:var(--jwt-muted)!important;
  line-height:1.65!important;
}

/* Cards remain cards, but all share the same quiet Gloria material. */
body.jw-translation-app .card,
body.jw-translation-app .completion-primary,
body.jw-translation-app .completion-definition-grid > article,
body.jw-translation-app .switch-card,
body.jw-translation-app .patch-console,
body.jw-translation-app .verification-table,
body.jw-translation-app .install-strip,
body.jw-translation-app .status-grid > *,
body.jw-translation-app .build-grid > *,
body.jw-translation-app .known-section > *,
body.jw-translation-app .provenance-section > *{
  border-color:#26343d!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#0d151b,#090f14)!important;
  box-shadow:none!important;
}
body.jw-translation-app .card:hover,
body.jw-translation-app .completion-definition-grid > article:hover,
body.jw-translation-app .switch-card:hover{
  border-color:var(--jwt-pink)!important;
  box-shadow:0 0 18px rgba(255,121,183,.07)!important;
}

/* No translation page gets a different full-width footer language. */
body.jw-translation-app footer:not(.jw-random-footer){
  width:min(var(--jwt-max),calc(100% - 36px))!important;
  max-width:var(--jwt-max)!important;
  margin:72px auto 0!important;
  padding:22px 0 0!important;
  border-top:1px solid #18242b!important;
  background:transparent!important;
  box-shadow:none!important;
}

@media(max-width:760px){
  body.jw-translation-app .jw-master-stack,
  body.jw-translation-app .shell,
  body.jw-translation-app .section-shell,
  body.jw-translation-app .site-header,
  body.jw-translation-app .jw-local-site-header,
  body.jw-translation-app .feature-band,
  body.jw-translation-app .about-section,
  body.jw-translation-app .media-section,
  body.jw-translation-app .jw-expert-panel,
  body.jw-translation-app footer:not(.jw-random-footer){
    width:calc(100% - 20px)!important;
  }
  body.jw-translation-app .site-header,
  body.jw-translation-app .jw-local-site-header{margin-top:34px!important}
  body.jw-translation-app .brand-row,
  body.jw-translation-app .jw-local-brand-row{flex-wrap:wrap!important}
  body.jw-translation-app .lang-switch{margin-left:0!important}
  body.jw-translation-app .hero.section-shell{
    grid-template-columns:1fr!important;
    padding-top:30px!important;
  }
  body.jw-translation-app .hero-visual,
  body.jw-translation-app .runtime-card{
    max-width:360px!important;
    margin:6px auto 0!important;
  }
  body.jw-translation-app .hero h1{font-size:clamp(42px,14vw,65px)!important}
  body.jw-translation-app .hero-actions,
  body.jw-translation-app .actions{display:grid!important}
  body.jw-translation-app .button,
  body.jw-translation-app .actions .button{width:100%!important}
  body.jw-translation-app .release-strip,
  body.jw-translation-app .hero-stats{grid-template-columns:1fr!important}
}

/* Specificity guard: the translation mold wins over the older PSO button skin. */
body.jw-master-identity.jw-translation-app .button,
body.jw-master-identity.jw-translation-app .button.primary,
body.jw-master-identity.jw-translation-app .button:not(.secondary),
body.jw-master-identity.jw-translation-app .actions .button{
  background:#eef5f8!important;
  color:#071017!important;
  border:1px solid #34414a!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
body.jw-master-identity.jw-translation-app .button.secondary,
body.jw-master-identity.jw-translation-app .button.ghost,
body.jw-master-identity.jw-translation-app .button.gold{
  background:transparent!important;
  color:var(--jwt-text)!important;
}
body.jw-master-identity.jw-translation-app .site-header,
body.jw-master-identity.jw-translation-app .jw-local-site-header{
  display:block!important;
}

/* ================================================================
   Translation App query-flow v1.2
   One composer -> one runtime request -> one response surface.
   PSO's immediate loading feedback is the canonical interaction model.
   ================================================================ */
.jw-master-form.is-busy .jw-master-prompt,
.jw-master-form.is-busy .jw-master-go{
  cursor:progress!important;
}
.jw-master-prompt:disabled{
  opacity:.72!important;
  color:#9fb6c2!important;
  background:#071723!important;
}
.jw-master-go:disabled{
  opacity:.68!important;
  filter:saturate(.72)!important;
  cursor:progress!important;
}
.jw-master-service[data-query-state="submitting"],
.jw-master-service[data-query-state="loading"]{
  border-color:#4b8aa5!important;
  box-shadow:0 0 0 1px rgba(94,229,255,.05),0 16px 48px rgba(0,0,0,.24)!important;
}
.jw-master-service[data-query-state="submitting"] .jw-master-status-dot,
.jw-master-service[data-query-state="loading"] .jw-master-status-dot{
  animation:jwQueryPulse .8s ease-in-out infinite alternate;
}
.jw-master-service[data-query-state="ready"] .jw-master-status-dot{
  background:var(--jwm-green)!important;
  box-shadow:0 0 12px var(--jwm-green)!important;
}
.jw-master-service[data-query-state="error"] .jw-master-status-dot{
  background:#ff7c8d!important;
  box-shadow:0 0 10px rgba(255,124,141,.7)!important;
}
@keyframes jwQueryPulse{
  from{transform:scale(.8);opacity:.55}
  to{transform:scale(1.28);opacity:1;box-shadow:0 0 15px var(--jwm-cyan)}
}

/* The lower expert is a response dock, never a competing primary composer. */
.jw-expert-panel.jw-expert-response-only .jw-expert-compose{
  display:none!important;
}
.jw-expert-response-surface{
  margin-top:16px;
  padding:14px;
  border:1px solid #234e63;
  border-radius:13px;
  background:linear-gradient(180deg,rgba(4,18,28,.94),rgba(3,12,19,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
  outline:none;
  scroll-margin-top:22px;
}
.jw-expert-response-surface:focus-visible{
  border-color:var(--jwm-pink)!important;
  box-shadow:0 0 0 3px rgba(255,121,183,.08)!important;
}
.jw-expert-runtime-status{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:76px;
  padding:8px 9px 12px;
  border-bottom:1px solid rgba(83,149,180,.2);
}
.jw-expert-runtime-avatar{
  flex:0 0 58px;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid #2a6078;
  border-radius:12px;
  overflow:hidden;
  background:radial-gradient(circle at 50% 45%,#0d3345,#061620 68%);
  box-shadow:0 8px 20px rgba(0,0,0,.24);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease;
}
.jw-expert-runtime-avatar-xeno img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  image-rendering:pixelated;
}
.jw-expert-runtime-symbol{
  color:#75e6ff;
  font-size:22px;
  text-shadow:0 0 12px rgba(93,229,255,.65);
}
.jw-expert-runtime-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.jw-expert-runtime-copy small{
  color:#72bcd8;
  font:800 9px/1.25 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  letter-spacing:.12em;
}
.jw-expert-runtime-copy strong{
  color:#edf8fd;
  font:800 13px/1.3 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.jw-expert-runtime-copy span{
  max-width:760px;
  overflow:hidden;
  color:#8faebe;
  font:500 11px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.jw-expert-panel[data-expert-state="idle"] .jw-expert-runtime-avatar{
  opacity:.64;
  filter:saturate(.72);
}
.jw-expert-panel[data-expert-state="submitting"] .jw-expert-runtime-avatar,
.jw-expert-panel[data-expert-state="loading"] .jw-expert-runtime-avatar{
  opacity:1;
  border-color:#62d9f3;
  box-shadow:0 0 0 2px rgba(98,217,243,.08),0 0 24px rgba(98,217,243,.18),0 8px 20px rgba(0,0,0,.25);
  transform:translateY(-1px);
}
.jw-expert-panel[data-expert-state="submitting"] .jw-expert-runtime-symbol,
.jw-expert-panel[data-expert-state="loading"] .jw-expert-runtime-symbol{
  animation:jwExpertSpin 1.05s linear infinite;
}
.jw-expert-panel[data-expert-state="submitting"] .jw-expert-runtime-copy strong,
.jw-expert-panel[data-expert-state="loading"] .jw-expert-runtime-copy strong{
  color:#8feeff;
}
.jw-expert-panel[data-expert-state="ready"] .jw-expert-runtime-avatar{
  border-color:#55bfa3;
  box-shadow:0 0 18px rgba(85,191,163,.12),0 8px 20px rgba(0,0,0,.25);
}
.jw-expert-panel[data-expert-state="ready"] .jw-expert-runtime-copy strong{color:#b9f6e6}
.jw-expert-panel[data-expert-state="error"] .jw-expert-runtime-avatar{
  border-color:#a74d62;
  box-shadow:0 0 18px rgba(255,111,142,.10),0 8px 20px rgba(0,0,0,.25);
}
.jw-expert-panel[data-expert-state="error"] .jw-expert-runtime-copy strong{color:#ffb4c3}
@keyframes jwExpertSpin{to{transform:rotate(360deg)}}

.jw-expert-response-surface .jw-expert-output{
  margin-top:14px!important;
}
.jw-expert-response-surface .jw-expert-output[hidden]{display:none!important}
.jw-expert-answer-text{
  white-space:pre-wrap;
  color:#d6e4eb;
  font:500 14px/1.7 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* Xenosaga gets the supplied animated KOS-MOS avatar as the live loader. */
.jw-xeno-expert[data-expert-state="submitting"] .jw-expert-runtime-avatar-xeno,
.jw-xeno-expert[data-expert-state="loading"] .jw-expert-runtime-avatar-xeno{
  border-color:#df6aa0;
  box-shadow:0 0 0 2px rgba(223,106,160,.08),0 0 25px rgba(223,106,160,.20),0 8px 20px rgba(0,0,0,.25);
}
.jw-xeno-expert[data-expert-state="submitting"] .jw-expert-runtime-copy strong,
.jw-xeno-expert[data-expert-state="loading"] .jw-expert-runtime-copy strong{
  color:#ffb5d4;
}
.jw-xeno-expert .jw-expert-response-surface{
  border-color:#4a3850;
  background:linear-gradient(180deg,rgba(19,11,20,.94),rgba(8,10,17,.98));
}

/* Existing chips become optional one-click follow-ups into the same runtime. */
.jw-expert-response-only [data-expert-prompt]{
  cursor:pointer!important;
}
.jw-expert-panel[aria-busy="true"] [data-expert-prompt]{
  pointer-events:none;
  opacity:.56;
}

@media(max-width:620px){
  .jw-expert-response-surface{padding:10px}
  .jw-expert-runtime-status{gap:10px;min-height:68px;padding:6px 5px 10px}
  .jw-expert-runtime-avatar{flex-basis:52px;width:52px;height:52px;border-radius:10px}
  .jw-expert-runtime-copy strong{font-size:12px}
  .jw-expert-runtime-copy span{font-size:10px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  .jw-master-service[data-query-state="submitting"] .jw-master-status-dot,
  .jw-master-service[data-query-state="loading"] .jw-master-status-dot,
  .jw-expert-panel[data-expert-state="submitting"] .jw-expert-runtime-symbol,
  .jw-expert-panel[data-expert-state="loading"] .jw-expert-runtime-symbol{
    animation:none!important;
  }
}

/* v1.3 · Human banner copy + distinct Xenosaga EN/NL art.
   Supplied Xenosaga banners are used as artwork only; the readable copy remains HTML. */
.jw-master-memory--xeno .jw-master-memory-bg{
  opacity:.88;
  filter:saturate(.94) contrast(1.06) brightness(.9);
}
.jw-master-memory--xeno::after{
  background:
    linear-gradient(90deg,
      rgba(2,8,16,1) 0%,
      rgba(2,8,16,.995) 42%,
      rgba(2,8,16,.94) 54%,
      rgba(2,8,16,.55) 66%,
      rgba(2,8,16,.08) 82%,
      rgba(2,8,16,.28) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.22));
}
.jw-master-memory--xeno .jw-master-memory-copy{max-width:630px}
.jw-master-memory--xeno h2{color:#f4f9ff!important}

@media(max-width:720px){
  .jw-master-memory--xeno .jw-master-memory-bg{object-position:68% 48%!important}
  .jw-master-memory--xeno::after{
    background:linear-gradient(90deg,rgba(2,8,16,.99) 0%,rgba(2,8,16,.96) 58%,rgba(2,8,16,.42) 82%,rgba(2,8,16,.22) 100%);
  }
}


/* v1.4 · Gloria Union Story & Battle Companion reader surface.
   Uses the same readable response grammar as Xenosaga while keeping Gloria's blue-ocean identity. */
.jw-gloria-expert .jw-expert-output{
  padding:0!important;
  overflow:hidden;
  white-space:normal!important;
  background:
    radial-gradient(circle at 88% 0%,rgba(53,194,224,.10),transparent 28%),
    linear-gradient(180deg,#061922,#041017)!important;
}
.jw-expert-runtime-avatar-gloria img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.05) brightness(.88);
}
.jw-gloria-expert[data-expert-state="submitting"] .jw-expert-runtime-avatar-gloria,
.jw-gloria-expert[data-expert-state="loading"] .jw-expert-runtime-avatar-gloria{
  border-color:#6ce3f2;
  box-shadow:0 0 0 2px rgba(108,227,242,.08),0 0 26px rgba(108,227,242,.17),0 8px 20px rgba(0,0,0,.25);
}
.jw-gloria-generated-layout{
  grid-template-columns:minmax(0,1fr) 205px;
  gap:16px;
  padding:14px;
}
.jw-gloria-answer-meta{
  border-bottom-color:#285a6c!important;
}
.jw-gloria-answer-meta strong::before{color:#74e6f2!important}
.jw-gloria-reader{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:17px!important;
  line-height:1.72!important;
  letter-spacing:-.006em;
  text-rendering:optimizeLegibility;
}
.jw-gloria-reader .jw-xeno-reader-section{
  border-color:#28586a!important;
  background:
    linear-gradient(90deg,rgba(75,214,231,.045),transparent 46%),
    linear-gradient(180deg,#0a202a,#061820)!important;
  padding:20px 23px 19px!important;
  margin-bottom:15px!important;
}
.jw-gloria-reader .jw-xeno-reader-section::before{
  background:linear-gradient(#76e7f1,#2e7185)!important;
}
.jw-gloria-reader .jw-xeno-reader-section.guide::before{background:linear-gradient(#78e8f4,#2f8093)!important}
.jw-gloria-reader .jw-xeno-reader-section.rom::before{background:linear-gradient(#f3d787,#8c743e)!important}
.jw-gloria-reader .jw-xeno-reader-section.limits::before{background:linear-gradient(#ffb66b,#8f5730)!important}
.jw-gloria-reader .jw-xeno-reader-section.canon::before{background:linear-gradient(#92eef3,#3f8999)!important}
.jw-gloria-reader h2,
.jw-gloria-reader h3{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:-.025em!important;
}
.jw-gloria-reader h2{
  font-size:29px!important;
  line-height:1.16!important;
}
.jw-gloria-reader h3{
  font-size:20px!important;
  line-height:1.28!important;
}
.jw-gloria-reader h3::before{color:#7ce8f4!important}
.jw-gloria-reader p{
  max-width:76ch;
  margin:0 0 15px!important;
  color:#d4e2e8!important;
}
.jw-gloria-reader li{
  max-width:74ch;
  color:#d7e6eb!important;
}
.jw-gloria-reader .jw-xeno-reader-list li::marker{color:#75ddea!important}
.jw-gloria-reader blockquote{
  border-left-color:#65dce8!important;
  background:#081d25!important;
  color:#e4f1f4!important;
}
.jw-gloria-reader .jw-xeno-reader-callout{
  border-color:#356577!important;
  background:linear-gradient(90deg,#0b2630,#071820)!important;
}
.jw-gloria-reader .jw-xeno-reader-callout>span{color:#7be4ef!important}
.jw-gloria-reader code{
  border-color:#35677a!important;
  background:#03141b!important;
  color:#9cecf5!important;
}
.jw-gloria-responder{
  border-color:#467b8a!important;
  background:
    linear-gradient(145deg,rgba(63,192,214,.16),rgba(5,18,27,.98) 42%),
    #06151f!important;
}
.jw-gloria-responder .jw-xeno-responder-art{
  height:150px;
  border-bottom-color:#356575!important;
}
.jw-gloria-responder .jw-xeno-responder-art img{
  object-position:center;
  filter:saturate(.9) contrast(1.04) brightness(.86);
}
.jw-gloria-responder .jw-xeno-responder-role{color:#8de8f3!important}
.jw-gloria-responder .jw-xeno-responder-signal{
  border-color:#2e6374!important;
  background:#051820!important;
}
.jw-gloria-responder .jw-xeno-responder-signal span{color:#84efc1!important}
.jw-gloria-provenance{
  color:#6f9aa8!important;
}
.jw-gloria-provenance::before{color:#73e7b4!important}

@media(max-width:760px){
  .jw-gloria-generated-layout{grid-template-columns:1fr;padding:8px}
  .jw-gloria-reader{font-size:16px!important;line-height:1.68!important}
  .jw-gloria-reader .jw-xeno-reader-section{padding:16px 17px 15px!important}
  .jw-gloria-reader h2{font-size:24px!important}
  .jw-gloria-reader h3{font-size:18px!important}
  .jw-gloria-responder .jw-xeno-responder-art{height:84px}
}

.jw-gloria-expert-lede{
  max-width:860px;
  margin:14px 0 8px;
  color:#bfd0d7;
  font:500 15px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.jw-gloria-corpus-line{
  margin:0 0 14px;
  color:#6e9cad;
  font:800 10px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  letter-spacing:.075em;
}
@media(max-width:620px){
  .jw-gloria-expert-lede{font-size:14px;line-height:1.6}
  .jw-gloria-corpus-line{font-size:9px;letter-spacing:.045em}
}

/* v1.5 · Gloria Union Blue Ocean Companion.
   Player-facing, piratey-cute presentation. No project/retrieval metadata in the UI. */
.jw-master-memory--gloria .jw-master-memory-bg{
  opacity:.72;
  filter:saturate(1.08) contrast(1.04) brightness(.74);
}
.jw-master-memory--gloria::after{
  background:
    linear-gradient(90deg,rgba(3,14,25,.99) 0%,rgba(3,14,25,.95) 47%,rgba(3,14,25,.54) 72%,rgba(3,14,25,.32) 100%),
    linear-gradient(180deg,rgba(4,33,52,.08),rgba(0,0,0,.24));
}
.jw-master-memory--gloria h2{color:#fff4be!important;text-shadow:0 2px 20px rgba(240,202,91,.12)}
.jw-master-memory--gloria .jw-master-kicker{color:#79e5f0!important}
.jw-master-memory--gloria p{color:#d6edf0!important}

.jw-gloria-panel-head{position:relative;min-height:126px;padding-right:128px!important;overflow:hidden}
.jw-gloria-panel-mascot{
  position:absolute;right:10px;bottom:-24px;width:118px;height:138px;object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.28));pointer-events:none;user-select:none;
}
.jw-gloria-expert-lede{
  max-width:820px!important;color:#d5e8e9!important;font-size:16px!important;line-height:1.68!important;
}

.jw-gloria-expert .jw-expert-response-surface{
  border-color:#34718a!important;
  background:
    radial-gradient(circle at 96% 0%,rgba(80,219,235,.09),transparent 30%),
    linear-gradient(180deg,rgba(5,27,38,.97),rgba(3,16,24,.99))!important;
}
.jw-expert-runtime-avatar-gloria{
  background:radial-gradient(circle at 50% 45%,#17435a,#071921 72%)!important;
  border-color:#4ea3b5!important;
}
.jw-expert-runtime-avatar-gloria img{
  display:block;width:100%;height:100%;object-fit:contain!important;object-position:center!important;
  filter:none!important;
}
.jw-gloria-expert[data-expert-state="submitting"] .jw-expert-runtime-avatar-gloria,
.jw-gloria-expert[data-expert-state="loading"] .jw-expert-runtime-avatar-gloria{
  transform:translateY(-2px) scale(1.04)!important;
  border-color:#ffd15d!important;
  box-shadow:0 0 0 2px rgba(255,209,93,.08),0 0 26px rgba(83,221,235,.20),0 8px 20px rgba(0,0,0,.25)!important;
}
.jw-gloria-expert[data-expert-state="submitting"] .jw-expert-runtime-copy strong,
.jw-gloria-expert[data-expert-state="loading"] .jw-expert-runtime-copy strong{color:#ffe795!important}
.jw-gloria-expert .jw-expert-runtime-copy small{color:#82e3ee!important}

.jw-gloria-generated-layout{grid-template-columns:minmax(0,1fr) 220px!important;gap:18px!important;padding:14px!important}
.jw-gloria-answer-kicker{
  display:inline-flex;align-items:center;gap:8px;margin:2px 0 12px;padding:7px 10px;
  border:1px solid #3f8294;border-radius:999px;background:#082630;color:#9deaf1;
  font:850 10px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.11em;text-transform:uppercase;
}
.jw-gloria-answer-kicker::before{content:"⚓";color:#ffd366;font-size:12px}
.jw-gloria-reader{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:17.5px!important;line-height:1.76!important;letter-spacing:-.008em!important;color:#e7f1f3!important;
}
.jw-gloria-reader .jw-xeno-reader-section{
  border-color:#2f6878!important;border-radius:16px!important;
  background:
    radial-gradient(circle at 98% 4%,rgba(252,208,89,.055),transparent 24%),
    linear-gradient(180deg,#0a2530,#061a22)!important;
  padding:22px 24px 20px!important;margin-bottom:16px!important;
}
.jw-gloria-reader .jw-xeno-reader-section::before{background:linear-gradient(#ffd15f,#64dce8)!important}
.jw-gloria-reader h2,.jw-gloria-reader h3{
  color:#fff7d2!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:-.032em!important;
}
.jw-gloria-reader h2{font-size:30px!important;line-height:1.14!important;margin-bottom:13px!important}
.jw-gloria-reader h3{font-size:21px!important;line-height:1.25!important;margin-bottom:11px!important}
.jw-gloria-reader h3::before{content:"✦"!important;color:#ffd365!important;margin-right:8px!important}
.jw-gloria-reader p{max-width:72ch!important;margin:0 0 16px!important;color:#e0ecef!important}
.jw-gloria-reader strong{color:#fff6c8!important}
.jw-gloria-reader em{color:#c4f4f3!important}
.jw-gloria-reader li{max-width:70ch!important;color:#e1eef0!important;margin-bottom:7px!important}
.jw-gloria-reader .jw-xeno-reader-list li::marker{color:#ffd15d!important}
.jw-gloria-reader blockquote{
  border-left:3px solid #ffd15d!important;border-radius:0 12px 12px 0!important;
  background:linear-gradient(90deg,rgba(255,209,93,.08),rgba(7,30,39,.98))!important;color:#edf7f7!important;
}
.jw-gloria-reader .jw-xeno-reader-callout{border-color:#3b7e8d!important;background:#082731!important}
.jw-gloria-reader .jw-xeno-reader-callout>span{color:#ffd15d!important}

.jw-gloria-memory-break{
  position:relative;margin:4px 0 16px;min-height:150px;max-height:220px;overflow:hidden;
  border:1px solid #376f7e;border-radius:15px;background:#061720;
}
.jw-gloria-memory-break img{display:block;width:100%;height:100%;min-height:150px;max-height:220px;object-fit:cover;object-position:center 38%;filter:saturate(.96) contrast(1.03) brightness(.86)}
.jw-gloria-memory-break::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 52%,rgba(3,17,24,.35));
}

.jw-gloria-responder{
  border-color:#3f7f8e!important;border-radius:16px!important;
  background:linear-gradient(160deg,rgba(255,210,91,.07),rgba(35,158,184,.11) 35%,rgba(4,18,27,.98) 70%)!important;
  overflow:hidden;
}
.jw-gloria-responder .jw-xeno-responder-art{height:210px!important;border-bottom-color:#3e7987!important;background:#06151c!important}
.jw-gloria-responder .jw-xeno-responder-art img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;filter:none!important}
.jw-gloria-responder .jw-xeno-responder-name{color:#fff3b2!important}
.jw-gloria-responder .jw-xeno-responder-role{color:#8ce8f1!important}
.jw-gloria-responder .jw-xeno-responder-signal{border-color:#326b78!important;background:#061e27!important;color:#9ebbc3!important}
.jw-gloria-responder .jw-xeno-responder-signal span{color:#ffd36c!important}

/* Keep internal/debug metadata out of the player-facing Gloria experience. */
.jw-gloria-expert .jw-gloria-corpus-line,.jw-gloria-expert .jw-gloria-provenance,.jw-gloria-expert .jw-gloria-answer-meta{display:none!important}

@media(max-width:760px){
  .jw-gloria-panel-head{min-height:105px;padding-right:88px!important}
  .jw-gloria-panel-mascot{right:-2px;bottom:-19px;width:94px;height:112px}
  .jw-gloria-generated-layout{grid-template-columns:1fr!important;padding:8px!important}
  .jw-gloria-reader{font-size:16.5px!important;line-height:1.72!important}
  .jw-gloria-reader .jw-xeno-reader-section{padding:17px 18px 16px!important}
  .jw-gloria-reader h2{font-size:25px!important}
  .jw-gloria-reader h3{font-size:19px!important}
  .jw-gloria-responder{display:grid!important;grid-template-columns:104px 1fr!important;align-items:center!important}
  .jw-gloria-responder .jw-xeno-responder-art{grid-row:1 / span 3;height:120px!important;border-bottom:0!important;border-right:1px solid #356b78!important}
  .jw-gloria-responder .jw-xeno-responder-name,.jw-gloria-responder .jw-xeno-responder-role,.jw-gloria-responder .jw-xeno-responder-signal{margin-left:10px!important;margin-right:10px!important}
  .jw-gloria-memory-break{min-height:125px;max-height:170px}
  .jw-gloria-memory-break img{min-height:125px;max-height:170px}
}

.jw-world-gloria .jw-master-opener{justify-content:flex-start;padding-left:clamp(22px,6vw,72px);padding-right:104px}
.jw-world-gloria .jw-master-opener-copy{text-align:left;max-width:78%;color:#c9e2e6}
.jw-world-gloria .jw-master-opener-copy b{color:#fff3b2}
.jw-world-gloria .jw-master-opener-mark{color:#ffd15d}
.jw-world-gloria .jw-master-opener-portrait:not([hidden]){width:98px}
.jw-world-gloria .jw-master-opener-portrait img{object-fit:contain;object-position:center bottom;background:linear-gradient(180deg,rgba(9,39,50,.25),rgba(4,20,29,.92));padding:4px;border-left-color:#ffd15d}
.jw-world-gloria .jw-master-example:hover,.jw-world-gloria .jw-master-example:focus-visible{border-color:#ffd15d;color:#fff7ce;box-shadow:0 0 14px rgba(255,209,93,.13)}
@media(max-width:620px){
  .jw-world-gloria .jw-master-opener{padding-left:18px;padding-right:88px}
  .jw-world-gloria .jw-master-opener-copy{max-width:78%;font-size:12px}
  .jw-world-gloria .jw-master-opener-portrait:not([hidden]){width:84px}
}


/* ============================================================
   v1.8 — Pokémon Emerald · PLAY + LIVE first-class landing card
   ============================================================ */
body.jw-master-identity .jw-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.jw-master-identity .jw-type-card.live{border-color:#287455;background:linear-gradient(180deg,#0a2a21,#061a16)}
body.jw-master-identity .jw-type-card.live small{color:#79efb2!important}
body.jw-master-identity .jw-showcase{grid-template-columns:repeat(6,minmax(0,1fr))}
body.jw-master-identity .jw-show-app-live img{border-color:#46ce8f!important;background:#071a12}
body.jw-master-identity .jw-show-app-live span{color:#63dca1}
.jw-emerald-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px;align-items:stretch;margin:16px 0;padding:18px;border:1px solid #287455;border-radius:22px;background:radial-gradient(circle at 88% 10%,rgba(67,229,139,.10),transparent 34%),linear-gradient(145deg,#0a2b22,#071a18 58%,#07131a);box-shadow:0 18px 55px rgba(0,0,0,.20);overflow:hidden}
.jw-emerald-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:6px 4px}
.jw-emerald-eyebrow{color:#79efb2;font-size:8px;font-weight:900;letter-spacing:.15em}
.jw-emerald-feature h2{margin:6px 0 2px;font-size:clamp(30px,4.5vw,56px);line-height:1;color:#f5fff9;letter-spacing:-.035em}
.jw-emerald-product{width:max-content;margin:7px 0 11px;padding:5px 8px;border:1px solid rgba(79,231,155,.48);border-radius:999px;background:rgba(23,92,62,.55);color:#b8ffd8;font-size:8px;font-weight:900;letter-spacing:.12em}
.jw-emerald-feature p{max-width:680px;margin:0 0 10px;color:#a9c7b8;font-size:13px;line-height:1.62}
.jw-emerald-feature .jw-emerald-thesis{color:#d9f6e7}.jw-emerald-thesis strong{color:#fff}
.jw-emerald-micro{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 15px}.jw-emerald-micro span{padding:4px 6px;border:1px solid rgba(92,210,151,.26);border-radius:999px;background:#071b15;color:#72dba7;font-size:7px;font-weight:900;letter-spacing:.08em}
.jw-emerald-play{width:max-content;margin-top:2px;border-color:#58df9a!important;background:linear-gradient(180deg,#177447,#0a4930)!important}
.jw-emerald-disclaimer{display:block;margin-top:10px;color:#5f8d76;font-size:7px;line-height:1.45}
.jw-emerald-proof{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.jw-emerald-proof figure{position:relative;margin:0;min-width:0;overflow:hidden;border:1px solid rgba(99,220,163,.27);border-radius:16px;background:#07130f}.jw-emerald-proof img{width:100%;height:100%;min-height:310px;object-fit:cover;display:block}.jw-emerald-proof figure:first-child img{object-position:center}.jw-emerald-proof figure:last-child img{object-position:center top}.jw-emerald-proof figcaption{position:absolute;left:8px;bottom:8px;padding:4px 6px;border-radius:999px;background:rgba(4,17,12,.88);border:1px solid rgba(110,240,168,.32);color:#bfffdc;font-size:7px;font-weight:900;letter-spacing:.12em}
@media(max-width:900px){body.jw-master-identity .jw-type-grid{grid-template-columns:1fr}.jw-emerald-feature{grid-template-columns:1fr}.jw-emerald-proof img{min-height:260px}}
@media(max-width:760px){body.jw-master-identity .jw-showcase{grid-template-columns:repeat(3,minmax(0,1fr))}.jw-emerald-feature{padding:14px;border-radius:18px}.jw-emerald-feature-copy{padding:0}.jw-emerald-feature p{font-size:11px}.jw-emerald-proof{grid-template-columns:1fr 1fr;gap:6px}.jw-emerald-proof img{min-height:190px}.jw-emerald-feature h2{font-size:34px}}
@media(max-width:420px){.jw-emerald-proof{grid-template-columns:1fr}.jw-emerald-proof img{min-height:210px;max-height:260px}.jw-emerald-proof figure:nth-child(2){display:none}}


/* v1.9 — Emerald My PokéField frontpage */
.jw-emerald-field-callout{margin:4px 0 12px;padding:11px 12px;border:1px solid rgba(108,238,170,.30);border-radius:14px;background:linear-gradient(145deg,rgba(5,25,18,.80),rgba(10,48,34,.62));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.jw-emerald-field-title{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.jw-emerald-field-title span{color:#79efb2;font-size:7px;font-weight:950;letter-spacing:.14em}.jw-emerald-field-title b{color:#f0fff7;font-size:14px;line-height:1.25;letter-spacing:-.01em}
.jw-emerald-field-callout p{margin:0 0 8px!important;color:#afcfc0!important;font-size:10px!important;line-height:1.5!important}.jw-emerald-field-callout p strong{color:#e9fff4}
.jw-emerald-evidence{display:flex;flex-wrap:wrap;gap:4px}.jw-emerald-evidence span{padding:3px 5px;border:1px solid rgba(118,230,172,.18);border-radius:5px;background:rgba(2,16,11,.58);color:#83dbae;font-size:6.5px;font-weight:900;letter-spacing:.065em}
@media(max-width:760px){.jw-emerald-field-callout{padding:10px}.jw-emerald-field-title b{font-size:12px}.jw-emerald-field-callout p{font-size:9.5px!important}.jw-emerald-evidence span{font-size:6px}}
