/* Japanese creator portal only. The English storefront does not load this file. */
.creator-jp { color: #282333; }
.creator-jp *, .creator-jp *::before, .creator-jp *::after { box-sizing: border-box; }
.creator-jp .portal-nav { gap: 24px; padding: 16px 28px; }
.creator-jp .portal-logo { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 44px; }
.creator-jp .portal-logo img { max-width: 100%; }
.creator-jp .portal-nav nav { gap: 8px 20px; justify-content: flex-end; }
.creator-jp .portal-nav nav > a, .creator-jp .portal-nav nav button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
.creator-jp .portal-nav form { margin: 0; }
.creator-jp .portal-button { min-height: 48px; padding: 12px 24px; border-radius: 24px; font-size: 16px; text-align: center; }
.creator-jp .portal-nav .portal-button { min-height: 44px; padding: 10px 20px; font-size: 14px; }
.creator-jp .portal-hero { padding: 64px 40px 56px; }
.creator-jp .portal-hero h1 { font-size: clamp(30px, 4.1vw, 50px); line-height: 1.6; letter-spacing: .015em; margin: 16px 0 24px; overflow-wrap: anywhere; }
.creator-jp .portal-hero > p:not(.portal-eyebrow):not(.portal-note) { max-width: 760px; }
.creator-jp .portal-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
.creator-jp .portal-text-link { display: inline-flex; align-items: center; min-height: 44px; margin: 0; font-size: 15px; text-underline-offset: 4px; }
.creator-jp .portal-note a, .creator-jp .portal-faq p a, .creator-jp .portal-form-note a, .creator-jp .portal-auth-switch a { display: inline; color: #653b8c; text-decoration: underline; text-underline-offset: 3px; }
.creator-jp .portal-grid { gap: 20px; }
.creator-jp .portal-grid article { padding: 24px; background: #fff; }
.creator-jp .portal-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; gap: 24px; counter-reset: portal-step; }
.creator-jp .portal-steps li { counter-increment: portal-step; min-width: 0; }
.creator-jp .portal-steps li::before { content: "0" counter(portal-step); display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: #653b8c; font-size: 16px; font-weight: 700; }
.creator-jp .portal-ready-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.creator-jp .portal-ready-grid > div { border-left: 3px solid #d9c9e7; padding-left: 20px; }
.creator-jp .portal-ready h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.creator-jp .portal-creator { min-width: 0; padding: 24px; }
.creator-jp .portal-creator h3 { overflow-wrap: anywhere; margin: 12px 0 6px; font-weight: 700; }
.creator-jp .portal-faq summary { min-height: 44px; line-height: 1.7; padding: 8px 0; }
.creator-jp .portal-faq details { padding: 12px 0; }
.creator-jp .portal-footer-inner nav a { display: inline-flex; align-items: center; min-height: 44px; }
.creator-jp input:focus-visible, .creator-jp select:focus-visible, .creator-jp textarea:focus-visible { outline: 3px solid #a36cc6; outline-offset: 2px; }

/* The original forms leave 200px above the first field. Keep the familiar card, with a shorter path to it. */
.creator-jp .login_wrap { width: calc(100% - 48px); max-width: 600px; margin: 48px auto 64px; border-radius: 24px; }
.creator-jp .login_wrap .login_sec { padding: 32px 40px; }
.creator-jp .login_wrap .login_sec h1, .creator-jp .login_wrap .login_sec h2 { font-size: 28px; line-height: 1.5; font-weight: 700; margin: 8px 0 12px; }
.creator-jp .login_wrap .login_sec .login_form { width: 100%; font-size: 16px; }
.creator-jp .portal-auth-intro { font-size: 15px; line-height: 1.8; color: #625b69; text-align: center; margin-bottom: 24px; }
.creator-jp .portal-progress { display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 0 0 24px; padding: 0; list-style: none; font-size: 12px; line-height: 1.8; color: #625b69; }
.creator-jp .portal-progress li { padding: 5px 10px; border-radius: 16px; background: #f3eef7; }
.creator-jp .portal-progress li[aria-current] { background: #653b8c; color: #fff; font-weight: 700; }
.creator-jp .login_form .login_input { margin-bottom: 18px; }
.creator-jp .login_form .login_input label { display: block; margin-bottom: 6px; font-size: 14px; line-height: 1.6; white-space: normal; }
.creator-jp .login_form .login_input input { height: 48px; margin-bottom: 0; border-radius: 12px; font-size: 16px; padding: 0 14px; }
.creator-jp .login_form .error { font-size: 14px; line-height: 1.6; margin-top: 6px; overflow-wrap: anywhere; }
.creator-jp .login_form .confirm .btn { min-height: 48px; height: auto; padding: 12px 16px; font-size: 16px; line-height: 1.5; background: #653b8c; border-radius: 24px; }
.creator-jp .portal-form-note { font-size: 13px; line-height: 1.8; color: #625b69; margin: 16px 0; }
.creator-jp .portal-auth-switch { font-size: 14px; line-height: 1.8; text-align: center; margin-top: 22px; }
.creator-jp .login_form .login_footer { margin-top: 24px; gap: 10px; }
.creator-jp .portal-login-divider { font-size: 13px; text-align: center; color: #625b69; padding-top: 20px; border-top: 1px solid #e5ddeb; }
.creator-jp .social_login_button { display: flex; align-items: center; width: 100%; min-height: 48px; height: auto; margin: 0; padding: 10px 16px; gap: 12px; border-radius: 12px; font-size: 15px; }
.creator-jp .social_login_button img { width: 24px; height: 24px; flex: 0 0 24px; }
.creator-jp .social_login_button span { flex: 1; margin: 0; padding-right: 36px; text-align: center; }
.creator-jp .login_form .login_signup { font-size: 14px; gap: 8px 16px; flex-wrap: wrap; }
.creator-jp .login_form .login_signup a { display: inline-flex; align-items: center; min-height: 44px; }
.creator-jp .login_wrap .login_sec .login_message { font-size: 16px; line-height: 1.8; margin: 24px 0; }

/* Existing creator workspace: input and action sizing, scoped to the JP document. */
.creator-jp .admin_wrap { margin-top: 48px; margin-bottom: 64px; border-radius: 24px; }
.creator-jp .admin_wrap .admin_sec { min-width: 0; }
.creator-jp .portal-setup-intro { font-size: 14px; line-height: 1.8; max-width: 760px; margin: 20px auto 24px; }
.creator-jp .portal-setup-intro a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; color: #653b8c; }
.creator-jp #fanclub_create_form .ad_cont { padding: 24px; }
.creator-jp #fanclub_create_form .input_area > li { align-items: flex-start; }
.creator-jp #fanclub_create_form .input_area .label { width: 100% !important; white-space: normal; }
.creator-jp #fanclub_create_form .input_area .label label { font-weight: 700; }
.creator-jp #fanclub_create_form .input_area .input { width: 100%; min-width: 0; min-height: 48px; border-radius: 12px; font-size: 16px; }
.creator-jp #fanclub_create_form .input_area .file { min-height: 52px; height: auto; padding: 4px 4px 4px 12px; }
.creator-jp #fanclub_create_form .file::before { flex: 0 0 20px; }
.creator-jp #fanclub_create_form .upload_filename { min-width: 0; flex: 1; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.creator-jp #fanclub_create_form .file .upload { flex: 0 0 112px; width: 112px; min-height: 44px; height: auto; padding: 8px; border-radius: 22px; background: #653b8c; }
.creator-jp #fanclub_create_form .input_url { padding-left: 0; }
.creator-jp #fanclub_create_form .input_url span { flex: 0 0 auto; padding: 0 12px; font-size: 14px; }
.creator-jp #fanclub_create_form .input_url input { width: 100%; min-width: 0; }
.creator-jp #fanclub_create_form .admin_btns { gap: 12px; flex-wrap: wrap; }
.creator-jp #fanclub_create_form .admin_btns .btn { width: auto; min-width: 200px; min-height: 48px; height: auto; margin: 0; padding: 12px 20px; font-size: 16px; line-height: 1.5; }
.creator-jp #fanclub_create_form .admin_btns .right_btn { background: #653b8c; }
.creator-jp #fanclub_create_form .admin_btns .left_btn { background: #fff !important; color: #653b8c !important; border: 1px solid #653b8c !important; }
.creator-jp #fanclub_create_form .admin_btns .left_btn::after { content: "↗"; width: auto; height: auto; background: none; }
.creator-jp #fanclub_create_form .current_file img { max-width: 100%; height: auto; }

@media (max-width: 959px) {
  .creator-jp .admin_wrap { width: calc(100% - 24px); margin: 24px auto 40px; }
  .creator-jp .admin_wrap .admin_sec { padding: 24px 16px; }
  .creator-jp #fanclub_create_form .ad_cont { padding: 18px 14px; }
  .creator-jp #fanclub_create_form .input_area > li { display: block; }
  .creator-jp #fanclub_create_form .input_area .label { display: block; margin-bottom: 8px; }
  .creator-jp #fanclub_create_form .input_area .label .validate { font-size: 13px; }
  .creator-jp #fanclub_create_form .admin_btns { flex-direction: row; }
  .creator-jp #sidemenu .name { max-width: 65%; overflow-wrap: anywhere; }
}
@media (max-width: 700px) {
  .creator-jp .portal-nav { display: flex; align-items: flex-start; flex-direction: column; gap: 6px; padding: 12px 20px; }
  .creator-jp .portal-logo img { width: 144px; }
  .creator-jp .portal-nav nav { width: 100%; margin: 0; justify-content: flex-start; gap: 4px 14px; font-size: 13px; }
  .creator-jp .portal-nav .portal-nav-guest { display: grid; grid-template-columns: auto auto 1fr auto; gap: 6px; font-size: 12px; }
  .creator-jp .portal-nav .portal-nav-login { justify-self: end; }
  .creator-jp .portal-nav .portal-button { padding: 10px 12px; font-size: 12px; }
  .creator-jp .portal-hero { padding: 36px 22px; border-radius: 0 0 24px 24px; }
  .creator-jp .portal-hero h1 { font-size: clamp(28px, 6.5vw, 38px); line-height: 1.65; }
  .creator-jp .portal-hero > p { font-size: 15px; }
  .creator-jp .portal-hero .portal-eyebrow { font-size: 11px; }
  .creator-jp .portal-hero .portal-note { font-size: 12px; }
  .creator-jp .portal-actions { align-items: stretch; flex-direction: column; gap: 8px; }
  .creator-jp .portal-actions .portal-button { width: 100%; }
  .creator-jp .portal-text-link { justify-content: center; margin: 0; }
  .creator-jp .portal-section { padding: 40px 22px; }
  .creator-jp .portal-grid, .creator-jp .portal-steps, .creator-jp .portal-ready-grid { grid-template-columns: 1fr; gap: 20px; }
  .creator-jp .portal-section h2 { font-size: 24px; }
  .creator-jp .portal-grid article { padding: 20px; }
  .creator-jp .portal-steps li { padding-bottom: 20px; border-bottom: 1px solid #e5ddeb; }
  .creator-jp .portal-steps li:last-child { padding-bottom: 0; border-bottom: 0; }
  .creator-jp .portal-faq summary { font-size: 15px; }
  .creator-jp .portal-footer-inner { padding: 28px 22px; }
  .creator-jp .portal-footer-inner nav { display: flex; gap: 4px 18px; }
  .creator-jp .login_wrap { width: calc(100% - 24px); margin: 24px auto 40px; border-radius: 20px; }
  .creator-jp .login_wrap .login_sec { padding: 26px 20px; }
  .creator-jp .login_wrap .login_sec h1, .creator-jp .login_wrap .login_sec h2 { font-size: 24px; }
  .creator-jp .portal-progress { gap: 6px; font-size: 11px; }
  .creator-jp .portal-progress li { padding: 5px 8px; }
  .creator-jp .login_form .login_signup { display: flex; flex-direction: column; margin-top: 20px; }
  .creator-jp .login_form .login_signup a { justify-content: center; margin: 0; }
  .creator-jp #fanclub_create_form .admin_btns .btn { width: 100%; min-width: 0; }
}
@media (max-width: 380px) {
  .creator-jp .portal-nav { padding-right: 14px; padding-left: 14px; }
  .creator-jp .portal-nav .portal-nav-guest { grid-template-columns: 1fr 1fr; gap: 4px 12px; }
  .creator-jp .portal-nav .portal-nav-login { justify-self: stretch; }
  .creator-jp .portal-hero { padding: 28px 18px; }
}

/* Creator value, fee transparency, and readable JP legal pages. */
.creator-jp .portal-hero-facts { display:flex; gap:8px 24px; align-items:center; flex-wrap:wrap; margin:24px 0 0; padding-top:18px; border-top:1px solid #e4d9e9; font-size:13px; }
.creator-jp .portal-hero-facts a { display:inline-flex; align-items:center; min-height:44px; color:#653b8c; text-decoration:underline; text-underline-offset:3px; }
.creator-jp .portal-hero-facts strong { font-weight:700; }
.creator-jp .portal-status { display:inline-block; font-size:12px; line-height:1.6; font-weight:700; padding:4px 12px; color:#653b8c; background:#eee4f5; border:1px solid #d9c9e7; border-radius:16px; vertical-align:middle; margin-bottom:16px; }
.creator-jp h2 .portal-status { margin:0 0 0 12px; }
.creator-jp .portal-voice { display:grid; grid-template-columns:1fr 1fr; gap:24px 48px; background:linear-gradient(120deg,#f7f1fb,#fffbf8); border-radius:24px; }
.creator-jp .portal-voice .portal-eyebrow { margin:0 0 16px; }
.creator-jp .portal-voice h2 { margin-bottom:18px; }
.creator-jp .portal-voice-details { align-self:center; padding:28px; border:1px solid #e5ddeb; border-radius:20px; background:#fff; }
.creator-jp .portal-voice-details h3 { font-size:19px; font-weight:700; margin-bottom:20px; }
.creator-jp .portal-voice-details ol { margin:0; padding-left:24px; list-style:decimal; }
.creator-jp .portal-voice-details li { padding:6px 0; }
.creator-jp .portal-voice-details li span { display:block; font-size:13px; color:#625b69; }
.creator-jp .portal-voice-consent { grid-column:1/-1; margin:0; }
.creator-jp .portal-payout-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.creator-jp .portal-payout-grid > div { padding:24px 28px; border:1px solid #e5ddeb; border-radius:20px; }
.creator-jp .portal-payout-grid > div > span { display:block; color:#625b69; font-size:14px; }
.creator-jp .portal-payout-grid strong { display:block; font-size:64px; font-weight:700; line-height:1.2; color:#653b8c; margin:16px 0; }
.creator-jp .portal-payout-grid strong small { font-size:28px; }
.creator-jp .portal-payout-grid .portal-payout-date { font-size:28px; line-height:1.5; }
.creator-jp .portal-payout-grid p { font-size:14px; }
.creator-jp .portal-payout-example { font-size:14px; background:#f7f3fa; padding:16px 20px; border-radius:12px; margin-top:20px; }
.creator-jp .portal-legal { max-width:960px; }
.creator-jp .portal-legal h1 { font-size:clamp(26px,3.5vw,38px); line-height:1.5; font-weight:700; margin:12px 0 20px; }
.creator-jp .portal-legal h2 { font-size:22px; margin:0 0 16px; }
.creator-jp .portal-legal > section { border-top:1px solid #e5ddeb; padding:28px 0; scroll-margin-top:24px; }
.creator-jp .portal-legal p { margin-bottom:16px; }
.creator-jp .portal-legal ul { list-style:disc; padding-left:24px; }
.creator-jp .portal-legal ol { list-style:decimal; padding-left:24px; }
.creator-jp .portal-legal li { margin-bottom:10px; }
.creator-jp .portal-legal p a, .creator-jp .portal-facts a { display:inline; color:#653b8c; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.creator-jp .portal-legal-summary { padding:24px; margin:28px 0 20px; background:#f7f3fa; border-radius:16px; }
.creator-jp .portal-legal-summary strong { font-weight:700; }
.creator-jp .portal-legal-summary ul { margin-top:12px; }
.creator-jp .portal-legal-nav { display:flex; flex-wrap:wrap; gap:4px 20px; margin-bottom:28px; }
.creator-jp .portal-legal-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; color:#653b8c; text-decoration:underline; }
.creator-jp .portal-facts { margin:28px 0; border-top:1px solid #e5ddeb; }
.creator-jp .portal-facts > div { display:grid; grid-template-columns:200px minmax(0,1fr); gap:20px; padding:20px 0; border-bottom:1px solid #e5ddeb; }
.creator-jp .portal-facts dt { font-weight:700; font-size:14px; }
.creator-jp .portal-facts dd { min-width:0; margin:0; overflow-wrap:anywhere; }
@media(max-width:700px) {
 .creator-jp .portal-hero-facts { gap:4px 12px; }
 .creator-jp .portal-hero-facts > span { width:100%; }
 .creator-jp .portal-voice { grid-template-columns:1fr; gap:24px; border-radius:20px; }
 .creator-jp .portal-voice-details { padding:20px; }
 .creator-jp .portal-payout-grid { gap:12px; }
 .creator-jp .portal-payout-grid > div { padding:18px 14px; }
 .creator-jp .portal-payout-grid strong { font-size:48px; }
 .creator-jp .portal-payout-grid .portal-payout-date { font-size:20px; }
 .creator-jp .portal-payout-grid > div > span, .creator-jp .portal-payout-grid p { font-size:12px; }
 .creator-jp .portal-legal h2 { font-size:20px; }
 .creator-jp .portal-legal-summary { padding:20px; }
 .creator-jp .portal-facts > div { grid-template-columns:1fr; gap:6px; padding:18px 0; }
}
@media(max-width:380px) { .creator-jp .portal-payout-grid { grid-template-columns:1fr; } }

/* JP revenue view: figures stay legible; the monthly table scrolls on small screens. */
.creator-jp .portal-sales h1 { font-size:28px; line-height:1.5; font-weight:700; margin-bottom:16px; }
.creator-jp .portal-sales h2 { font-size:20px; line-height:1.5; font-weight:700; margin-bottom:20px; }
.creator-jp .portal-sales-card { margin:24px 0; padding:28px; border:1px solid #e5ddeb; border-radius:20px; background:#fcfaff; }
.creator-jp .portal-sales-breakdown > div { display:flex; gap:16px; justify-content:space-between; align-items:baseline; padding:12px 0; font-size:15px; border-bottom:1px solid #e5ddeb; }
.creator-jp .portal-sales-breakdown dd { margin:0; font-weight:700; white-space:nowrap; }
.creator-jp .portal-sales-breakdown .portal-sales-total { font-weight:700; color:#653b8c; font-size:20px; border-bottom:0; }
.creator-jp .portal-sales-card form { margin-top:20px; }
.creator-jp .portal-sales .portal-button { cursor:pointer; border:0; margin:16px 0; }
.creator-jp .portal-sales .portal-button:disabled { background:#e5ddeb; color:#625b69!important; cursor:not-allowed; }
.creator-jp .portal-sales-amount { font-size:38px; font-weight:700; color:#653b8c; margin:12px 0; }
.creator-jp .portal-sales-amount small { font-size:18px; margin-left:6px; }
.creator-jp .portal-sales-section { margin:36px 0; }
.creator-jp .portal-sales-table-wrap { width:100%; overflow-x:auto; }
.creator-jp .portal-sales-table { width:100%; min-width:560px; border-collapse:collapse; font-size:14px; line-height:1.8; }
.creator-jp .portal-sales-table th,.creator-jp .portal-sales-table td { padding:14px 12px; text-align:right; border-bottom:1px solid #e5ddeb; white-space:nowrap; }
.creator-jp .portal-sales-table th:first-child,.creator-jp .portal-sales-table td:last-child { text-align:left; }
.creator-jp .portal-sales-table thead { background:#f3edf8; }
.creator-jp .portal-sales-history { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.creator-jp .portal-sales-history article { border:1px solid #e5ddeb; border-radius:16px; padding:20px; }
.creator-jp .portal-sales-history strong { display:block; font-size:24px; font-weight:700; }
.creator-jp .portal-sales-history p { font-size:13px; line-height:1.8; margin-top:8px; }
.creator-jp .portal-sales-error { background:#fff1f1; color:#8f233a; padding:16px; border-radius:12px; font-size:14px; line-height:1.8; }
@media(max-width:700px) {
 .creator-jp .portal-sales h1 { font-size:24px; }
 .creator-jp .portal-sales-card { padding:20px 16px; }
 .creator-jp .portal-sales-breakdown > div { font-size:13px; }
 .creator-jp .portal-sales .portal-button { width:100%; }
 .creator-jp .portal-sales-history { grid-template-columns:1fr; }
}
.creator-jp .portal-sales-pagination { display:flex; gap:20px; flex-wrap:wrap; align-items:center; font-size:14px; margin-top:16px; }
.creator-jp .portal-sales-pagination a { display:inline-flex; align-items:center; min-height:44px; color:#653b8c; text-decoration:underline; }

/* The legacy html word-break:keep-all made Japanese grid items wider than phones. */
body.creator-jp{word-break:normal;overflow-wrap:anywhere}
.creator-jp .portal-grid>*,.creator-jp .portal-voice>*,.creator-jp .portal-ready-grid>*,.creator-jp .portal-payout-grid>*{min-width:0;max-width:100%}
.creator-jp .portal-voice,.creator-jp .portal-ready-grid,.creator-jp .portal-payout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.creator-jp .portal-page p,.creator-jp .portal-page h2,.creator-jp .portal-page h3,.creator-jp .portal-page li{white-space:normal;word-break:normal;overflow-wrap:anywhere}
@media(max-width:700px){.creator-jp .portal-grid,.creator-jp .portal-voice,.creator-jp .portal-ready-grid{grid-template-columns:minmax(0,1fr)}.creator-jp .portal-page .portal-grid article{width:100%}.creator-jp .portal-payout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.creator-jp .portal-payout-grid{grid-template-columns:minmax(0,1fr)}}

