#monstarica-title{position:fixed;inset:0;z-index:1900;overflow:auto;display:flex;background:#090d14;color:#f4f8ff;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif}
#monstarica-title *{box-sizing:border-box}
#monstarica-title .mt-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 65% at 33% 48%,#1c41624d,transparent 80%),radial-gradient(ellipse 25% 60% at 95% 5%,#183d6945,transparent)}
#monstarica-title .mt-layout{width:100%;min-height:100%;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);position:relative}
#monstarica-title .mt-brand-side{padding:clamp(32px,7vw,110px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
#monstarica-title .mt-kicker{letter-spacing:.31em;font-size:10px;color:#86c6ff;font-weight:800}
#monstarica-title .mt-logo{font-size:clamp(35px,5.1vw,77px);font-weight:950;letter-spacing:.045em;margin:14px 0 0;line-height:1.15;text-shadow:0 0 60px #328cff4d}
#monstarica-title .mt-mark{height:4px;width:92px;margin:30px 0 34px;background:linear-gradient(90deg,#21a0ff,#b6e4ff00);border-radius:10px}
#monstarica-title h1{font-size:clamp(23px,2.7vw,41px);line-height:1.75;letter-spacing:.065em;margin:0 0 18px;font-weight:900}
#monstarica-title .mt-brand-side>p{color:#a1afc4;font-size:14px;line-height:2;margin:0}
#monstarica-title .mt-art{height:clamp(115px,23vh,260px);margin-top:38px;display:flex;align-items:center;gap:0;max-width:580px}
#monstarica-title .mt-art img{width:32%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 18px #0009)}
#monstarica-title .mt-art img:nth-child(2){transform:scale(1.18)}
#monstarica-title .mt-panel{background:linear-gradient(155deg,#182332c7,#0c1523e6);border-left:1px solid #ffffff1e;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(25px,4vw,62px)}
#monstarica-title .mt-panel-inner{width:min(100%,365px);margin:auto}
#monstarica-title .mt-small{font-size:10px;letter-spacing:.17em;color:#8bb8e8;font-weight:800}
#monstarica-title h2{font-size:clamp(25px,2.3vw,36px);margin:14px 0 5px;font-weight:900}
#monstarica-title .mt-sub{font-size:12px;line-height:1.9;color:#a9b9cc;min-height:54px;margin:12px 0 20px}
#monstarica-title .mt-id{background:#0c1b2d;border:1px solid #365a82;border-radius:8px;padding:15px;font-size:11px;color:#b9c5d7;margin-bottom:18px}
#monstarica-title .mt-id b{display:block;font-size:16px;color:white;margin-top:6px;user-select:all;word-break:break-all}
#monstarica-title button{cursor:pointer}
#monstarica-title .mt-button{display:flex;justify-content:center;align-items:center;gap:13px;width:100%;height:50px;margin-bottom:11px;border-radius:9px;font-size:14px;font-weight:900;letter-spacing:.08em}
#monstarica-title .mt-button.primary{background:#238df4;border:1px solid #66b5ff;color:white;box-shadow:0 8px 26px #1679ea42}
#monstarica-title .mt-button.secondary{background:#142b43;border:1px solid #436b94;color:#e5f4ff}
#monstarica-title .mt-button.subtle{background:none;border:1px solid #40526d;color:#bed4e8}
#monstarica-title .mt-button:disabled{opacity:.35;cursor:not-allowed}
#monstarica-title .mt-guest{display:block;margin:18px auto;border:0;background:none;color:#a8bcd2;text-decoration:underline;font-size:12px;padding:8px}
#monstarica-title .mt-connection{display:flex;align-items:center;gap:9px;margin-top:29px;color:#a1b4c8;font-size:11px;cursor:pointer}
#monstarica-title .mt-connection i{width:7px;height:7px;border-radius:50%;background:#f7bb64;flex:none}
#monstarica-title .mt-connection i.ok{background:#65d9b0}
#monstarica-title .mt-note{font-size:11px;line-height:1.75;color:#8497b0;margin-top:11px}
#monstarica-title .mt-footer{font-size:10px;letter-spacing:.1em;color:#60718a;text-align:center;padding:18px}
/* Authentication dialog intentionally layers above the title. */
@media(max-width:780px){#monstarica-title .mt-layout{display:flex;flex-direction:column}#monstarica-title .mt-brand-side{padding:42px 26px 22px;min-height:340px}#monstarica-title .mt-art{height:110px;margin-top:17px}#monstarica-title .mt-logo{font-size:clamp(35px,9vw,54px)}#monstarica-title h1{font-size:23px;line-height:1.5}#monstarica-title .mt-mark{margin:16px 0}#monstarica-title .mt-panel{border-left:0;border-top:1px solid #ffffff2c;padding:28px 26px;flex:1}#monstarica-title .mt-panel-inner{margin:0 auto}#monstarica-title .mt-brand-side>p{font-size:12px}}
#monstarica-cloud-warning{position:fixed;left:12px;bottom:12px;z-index:1900;max-width:460px;border:1px solid #ec9e49;background:#32231c;color:#ffe3b6;box-shadow:0 4px 26px #0007;padding:12px 18px;border-radius:8px;font-size:12px;line-height:1.5}
/* Server-issued card/deck editor. */
.online-card-open{border:1px solid #4a86b2;background:#123454;color:#eff8ff;border-radius:8px;padding:11px 15px;font-weight:850;cursor:pointer}
.comm-online-summary{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:18px;border-radius:12px;background:#102037;border:1px solid #385577;margin:15px 0}
.comm-online-summary b{color:#f3f9ff;font-size:15px}
.comm-online-summary button,.comm-online-bottom button{border:1px solid #4d9fe2;background:#226db4;color:white;padding:10px 18px;border-radius:7px;font-weight:800;cursor:pointer}
.comm-online-summary button:disabled,.comm-online-bottom button:disabled{opacity:.45}
.comm-online-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:11px;margin:16px 0 90px}
.comm-online-grid button{min-width:0;padding:10px;position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;background:#101a2c;border:1px solid #344b68;border-radius:12px;color:#dce9f7;cursor:pointer;text-align:center}
.comm-online-grid button.picked{border-color:#28a1ff;background:#15314d;box-shadow:0 0 0 1px #219cf8}
.comm-online-grid img{max-width:100%;height:115px;object-fit:contain}
.comm-online-grid b{font-size:12px;min-height:16px}.comm-online-grid small{font-size:10px;color:#a9b8cb}
.comm-online-grid em{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#257bd0;color:white;font-weight:900;font-size:12px;font-style:normal}
.comm-online-bottom{position:sticky;bottom:0;display:flex;gap:18px;align-items:center;justify-content:flex-end;background:#101c2ef5;padding:14px;border:1px solid #4a6485;border-radius:8px}
.comm-online-fusion{background:#0d1a2d;border:1px solid #365779;border-radius:12px;padding:15px;margin-top:14px}
.comm-online-fusion h3{margin:0 0 8px;font-size:16px}
.comm-online-fusion-fields{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.comm-online-fusion-fields label{flex:1 1 170px;font-size:12px;font-weight:800;color:#a5bad2}
.comm-online-fusion-fields select{width:100%;display:block;margin-top:6px;min-height:40px;background:#111f34;border:1px solid #4b6b8e;color:#eff8ff;border-radius:6px;padding:8px}
.comm-online-fusion-fields button{background:#255a91;border:1px solid #65aaf0;color:white;border-radius:7px;font-weight:900;padding:11px 20px;cursor:pointer}

/* Initial session check: do not flash the login title for returning players. */
#monstarica-title .mt-boot{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#090d14;color:#f4f8ff;text-align:center;padding:24px}
#monstarica-title .mt-boot strong{font-size:clamp(32px,7vw,64px);font-weight:950;letter-spacing:.06em}
#monstarica-title .mt-boot span{font-size:12px;color:#91a6c2}


/* v51: compact portrait-first title, all choices visible in the mobile viewport.
   Desktop retains the two-column composition. Short landscape viewports scroll. */
@media (max-width: 780px) {
  #monstarica-title {
    height: 100vh; height: 100dvh; max-height: 100dvh;
    overflow: hidden; overscroll-behavior: contain;
  }
  #monstarica-title .mt-layout {
    display: grid; height: 100%; min-height: 0; width: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
  }
  #monstarica-title .mt-brand-side {
    padding: clamp(16px, 2.8dvh, 28px) 20px 0; min-height: 0;
    display: flex; flex-direction: column; justify-content: flex-start; align-items: center;
    text-align: center; overflow: hidden;
    background: radial-gradient(ellipse 67% 53% at 50% 90%, #1875ad38, transparent 90%);
  }
  #monstarica-title .mt-kicker { font-size: 9px; letter-spacing: .25em; }
  #monstarica-title .mt-logo {
    font-size: clamp(30px, 8.2vw, 43px); margin: 8px 0 0;
    line-height: 1.15; letter-spacing: .055em;
  }
  #monstarica-title .mt-mark,
  #monstarica-title .mt-brand-side > p { display: none; }
  #monstarica-title h1 {
    font-size: clamp(16px, 4.6vw, 21px); font-weight: 850;
    letter-spacing: .035em; line-height: 1.38;
    margin: clamp(8px, 1.65dvh, 16px) 0 0;
  }
  #monstarica-title .mt-art {
    position: relative; isolation: isolate; display: flex;
    justify-content: center; align-items: center;
    width: 100%; max-width: 430px; height: auto;
    min-height: 65px; flex: 1 1 auto; margin: 6px 0 0; gap: 0;
  }
  #monstarica-title .mt-art::before {
    content: ''; position: absolute; z-index: -1;
    left: 12%; right: 12%; bottom: -55px; height: 160px;
    border-radius: 50%; background: #238dff1e; filter: blur(32px);
  }
  #monstarica-title .mt-art img {
    display: block; width: 42%; height: 85%; max-height: 230px;
    flex: 0 0 42%; margin: 0 -6%; object-fit: contain; object-position: center;
    filter: drop-shadow(0 8px 14px #000b);
    transform-origin: center center;
  }
  #monstarica-title .mt-art img:first-child { transform: scale(1.05); }
  #monstarica-title .mt-art img:nth-child(2) { transform: scale(1.16); z-index: 1; }
  #monstarica-title .mt-art img:last-child { transform: scale(1.05); }
  #monstarica-title .mt-panel {
    flex: none; min-height: 0; width: 100%;
    border: 1px solid #8bb7e026; border-bottom: 0; border-radius: 23px 23px 0 0;
    background: linear-gradient(165deg, #182a41 0%, #101c2d 68%, #0c1522 100%);
    box-shadow: 0 -15px 45px #03091491;
    padding: clamp(17px, 2.5dvh, 23px) clamp(20px, 5.6vw, 28px)
             calc(12px + env(safe-area-inset-bottom, 0px));
    justify-content: flex-start;
  }
  #monstarica-title .mt-panel-inner {
    width: 100%; max-width: 410px; margin: 0 auto;
  }
  #monstarica-title .mt-small { display: none; }
  #monstarica-title h2 {
    margin: 0 0 7px; font-size: clamp(23px, 5.8vw, 28px); line-height: 1.22;
  }
  #monstarica-title .mt-sub {
    min-height: 0; margin: 0 0 15px;
    font-size: 12px; line-height: 1.5;
  }
  #monstarica-title .mt-id {padding:9px 12px;margin-bottom:12px;}
  #monstarica-title .mt-id b {font-size:13px;margin-top:3px;}
  #monstarica-title .mt-button {
    min-height: 44px; height: 47px; margin-bottom: 9px;
    border-radius: 11px; font-size: 15px; letter-spacing: .03em;
  }
  #monstarica-title .mt-guest {
    font-size: 12px; margin: 4px auto 7px; padding: 6px 10px;
  }
  #monstarica-title .mt-connection {
    justify-content: center; margin: 8px 0 0; min-height: 16px;
    font-size: 10px; line-height: 1.4;
  }
  #monstarica-title .mt-connection i {width: 6px;height: 6px;}
  #monstarica-title .mt-note {
    text-align: center; font-size: 10px; line-height: 1.4;
    margin: 7px 0 0;
  }
  #monstarica-title .mt-footer {display: none;}
}
@media (max-width: 780px) and (max-height: 640px) {
  #monstarica-title .mt-brand-side {padding-top: 11px;}
  #monstarica-title .mt-logo {margin-top: 5px;font-size:clamp(28px,8vw,37px);}
  #monstarica-title h1 {font-size:16px;line-height:1.28;margin-top:7px;}
  #monstarica-title .mt-panel {padding-top: 13px;padding-bottom:calc(7px + env(safe-area-inset-bottom, 0px));}
  #monstarica-title h2 {font-size:22px;margin-bottom:5px;}
  #monstarica-title .mt-sub {margin-bottom:9px;font-size:11px;}
  #monstarica-title .mt-button {height:43px;margin-bottom:7px;}
  #monstarica-title .mt-guest {margin:1px auto 4px;}
  #monstarica-title .mt-connection {margin-top:5px;}
  #monstarica-title .mt-note {font-size:9px;margin-top:4px;}
}
@media (max-width: 780px) and (max-height: 505px) {
  #monstarica-title {overflow-y:auto;max-height:none;height:100dvh;}
  #monstarica-title .mt-layout {height:auto;min-height:100%;grid-template-rows:minmax(218px,1fr) auto;}
  #monstarica-title .mt-brand-side {min-height:218px;}
}

/* v52: acquisition-history detail is not an owned card instance. */
.atlas-history-detail{display:grid;grid-template-columns:minmax(145px,.85fr) minmax(0,1.15fr);gap:22px;align-items:center;max-width:780px}
.atlas-history-art{display:grid;place-items:center;min-height:190px;background:radial-gradient(ellipse,#25436355,transparent 72%);border-radius:18px}
.atlas-history-art img{max-width:100%;max-height:300px;object-fit:contain}
.atlas-history-info h2{font-size:clamp(19px,2vw,27px);margin:10px 0 15px}
.atlas-history-info>small{color:#9acaff;font-size:11px;letter-spacing:.08em}
.atlas-history-note{color:#aec2d8;font-size:12px;line-height:1.7}
.atlas-history-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:16px 0}
.atlas-history-stats>div{background:#14243b;border:1px solid #344d6d;border-radius:8px;display:grid;gap:4px;padding:8px;text-align:center}
.atlas-history-stats small{font-size:10px;color:#9fbad8}.atlas-history-stats strong{font-size:17px;color:#fff}
.atlas-history-trait{font-size:12px;line-height:1.75;color:#c7d6e6}
@media(max-width:560px){.atlas-history-detail{grid-template-columns:1fr;gap:4px}.atlas-history-art{min-height:120px}.atlas-history-art img{max-height:145px}.atlas-history-info h2{margin:6px 0 10px}}
