@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600&family=Noto+Sans+JP:wght@400;500;700&display=swap');
body.orb-journey {
  margin: 0; min-height: 100dvh; color: #d9eaff;
  background: radial-gradient(ellipse at 35% 40%, #071c3b, #020714 65%) !important;
  font-family: 'Manrope', 'Noto Sans JP', sans-serif !important;
}
.orb-journey *, #giftView * { font-family: inherit; box-sizing: border-box; }
.orb-brand { padding: 24px 32px; letter-spacing: .22em; font-size: 18px; color: #d7f5ff; }
.orb-brand small { font-size: 10px; letter-spacing: .12em; color: #77a9c4; }
.journey-orb { position: relative; height: 340px; width: 100%; }
.journey-orb canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.orb-journey .intro-page, .orb-journey .screen-layout, .orb-journey .login-screen {
  background: transparent !important; min-height: 0 !important; height: auto !important;
  width: min(1100px, 100%); margin: auto; padding: 20px 32px 48px;
  border: 0 !important; box-shadow: none !important;
}
.orb-journey .intro-page { text-align: center; max-width: 720px; }
.orb-journey .screen-layout, .orb-journey .login-screen { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.orb-journey .char-area { width: 100%; padding: 0; background: transparent; }
.orb-journey .ui-area, .orb-journey .login-panel { width: 100%; padding: 28px; background: #0a172acc !important; border: 1px solid #73caff30 !important; border-radius: 20px !important; box-shadow: none !important; }
.orb-journey h2, #giftView h2 { color: #e3f4ff; font-size: 23px; font-weight: 500; line-height: 1.7; text-shadow: none; }
.orb-journey p { color: #9bb6cd; line-height: 1.9; }
.orb-journey label { color: #bbd3e9; font-size: 14px; }
.orb-journey input, .orb-journey select { width: 100%; padding: 12px; background: #04101f !important; border: 1px solid #7ecaff40 !important; border-radius: 9px; color: #e0f5ff; font-size: 16px; margin: 8px 0; }
.orb-journey button, #giftView button { background: #153f58 !important; border: 1px solid #72daff50 !important; color: #ddf7ff !important; box-shadow: none !important; border-radius: 30px !important; padding: 12px 24px; font-size: 14px; cursor: pointer; margin: 8px 0; }
.orb-journey button:hover, #giftView button:hover { background: #205977 !important; }
.orb-journey button:focus-visible, .orb-journey input:focus-visible, .orb-journey select:focus-visible { outline: 2px solid #69dcff; outline-offset: 3px; }
.orb-journey .block { margin-bottom: 16px; }
.orb-journey [data-mode] { display: block; width: 100%; text-align: left; }
.orb-journey .login-error { color: #ffadad; }
#giftView.gift-page { min-height: 100dvh; padding: 36px 24px; background: radial-gradient(ellipse at 50% 40%, #071c3b, #020714 65%) !important; color: #bbd3e9; font-family: 'Manrope','Noto Sans JP',sans-serif; }
#giftView .journey-orb { max-width: 640px; margin: auto; height: 320px; }
@media(max-width:700px) {
  .orb-brand { padding: 20px; }
  .orb-journey .screen-layout, .orb-journey .login-screen { grid-template-columns: 1fr; gap: 0; padding: 0 20px 32px; }
  .orb-journey .journey-orb { height: 230px; }
  .orb-journey .ui-area, .orb-journey .login-panel { padding: 22px; }
}
