[hidden]{display:none!important}
.auth-widget{margin:0;background:transparent;color:#f5f5f7;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,sans-serif;color-scheme:dark}
.auth-widget nav,.auth-widget #guest{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:44px}
.auth-widget nav a,.auth-widget nav button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid #5b5c64;border-radius:6px;background:#24252b;color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}
.auth-widget nav [data-intent=register]{background:#c02a43;border-color:#c02a43}.auth-widget nav #checking{width:100%;padding:0 8px;border-color:#696970;border-radius:8px;background:#252528;color:#f4f3ef;font-size:12px}
.auth-widget.expanded nav{visibility:hidden}.auth-widget #overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#000a;overflow:auto}
.auth-chooser{color-scheme:dark;color:#f5f5f7;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;box-sizing:border-box}
.auth-chooser *{box-sizing:border-box}.auth-card{position:relative;width:100%;max-width:420px;margin:auto;padding:30px 28px 22px;border:1px solid #44454d;border-radius:16px;background:#191a20;box-shadow:0 18px 70px #0006}
.auth-chooser .auth-brand{margin:0 0 18px;font-size:18px;font-weight:850;letter-spacing:.06em}.auth-brand span{color:#ff5977}
.auth-chooser h1{font-size:26px;line-height:1.4;margin:0 0 8px;font-weight:750;letter-spacing:.02em}.auth-description{color:#c4c5ce;margin:0 0 16px;font-size:13px}
.auth-chooser button,.auth-chooser input,.auth-chooser .auth-proceed{font:inherit;min-height:46px;border-radius:6px;width:100%;margin:0}
.auth-chooser button{border:1px solid transparent;cursor:pointer;padding:10px 12px;background:#ce2946;color:#fff;font-weight:700}.auth-chooser button:disabled{cursor:wait;opacity:.5}
.auth-chooser button.auth-close{position:absolute;right:12px;top:10px;width:44px;height:44px;padding:0;background:transparent;font-size:26px;font-weight:400;color:#bfc0ca}
.auth-notice{margin:0 0 14px;color:#e9bf72;font-size:13px;overflow-wrap:anywhere}.auth-notice:empty{display:none}
.auth-chooser .auth-provider{display:flex;align-items:center;justify-content:center;height:48px;padding:0;margin:12px 0}
.auth-chooser .google{background:transparent;border-radius:4px;width:216px;margin-left:auto;margin-right:auto}.auth-chooser .google img{display:block;width:216px;height:48px;object-fit:contain}
.auth-chooser .line{width:216px;margin-left:auto;margin-right:auto;position:relative;background:#06c755;border-radius:4px}.auth-chooser .line img{position:absolute;left:9px;width:36px;height:36px}
.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0 18px;color:#adaeb9;font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#46474e}
.auth-chooser label{display:block;margin:0 0 14px;color:#e8e8ee;font-size:13px}.auth-chooser input{display:block;margin-top:6px;padding:10px 12px;border:1px solid #696b78;background:#25262e;color:white;font-size:16px}
.auth-chooser .auth-text{margin-top:10px;background:transparent;color:#e0e0e9;font-size:12px;font-weight:500;padding:9px 0;text-decoration:underline;text-underline-offset:4px}
.auth-free{margin:16px 0 0;color:#aaaeba;font-size:11px;line-height:1.7}.auth-legal{margin:12px 0 0;color:#aaaeba;font-size:11px}.auth-legal a{color:inherit;display:inline-flex;align-items:center;min-height:32px}
.auth-chooser .auth-proceed{display:flex;align-items:center;justify-content:center;padding:12px;background:#ce2946;color:#fff;text-decoration:none;font-weight:700;margin:12px 0}
.auth-chooser .auth-retry{background:#343640}.auth-chooser :focus-visible{outline:3px solid #ff9aad;outline-offset:3px}.auth-widget nav :focus-visible{outline:3px solid #ff9aad;outline-offset:-3px}
.member-entry main{max-width:520px;margin:32px auto}.member-entry #accountTitle{font-size:26px}.member-entry #status:empty{display:none}.member-entry #profile{overflow-wrap:anywhere}.member-entry input[type=checkbox]{width:20px;min-height:20px;margin-right:8px;vertical-align:middle}.member-entry #withdrawal{border-top:1px solid #555;margin-top:26px;padding-top:20px}.member-entry #withdrawal p{font-size:13px;color:#c1c1cb}.member-entry #withdraw{background:#34343d;border-color:#666}.member-entry #returnToSite{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-size:13px}
@media(max-width:420px){.auth-widget #overlay{padding:12px;align-items:flex-start}.auth-card{padding:26px 20px 18px;margin:auto}.member-entry main{margin:20px auto;padding:0 12px}.auth-chooser h1{font-size:24px}.auth-widget nav a,.auth-widget nav button{padding:0 8px;font-size:12px}}
@media(prefers-reduced-motion:no-preference){.auth-chooser button:hover:not(:disabled){filter:brightness(1.08)}}

/* Shared home brand and a calm, action-first member page. Provider marks stay unchanged. */
.member-entry{background:#08090c;min-height:100dvh}
.member-entry .member-header{max-width:100%;padding:12px 20px;background:#050507;border-bottom:1px solid #24252d;gap:16px}
.member-brand{display:inline-flex;align-items:center;min-height:52px;line-height:0;flex-shrink:0}
.member-brand img{display:block;width:174px;height:auto;max-width:100%}
.member-header .member-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border:1px solid #3d3e48;border-radius:8px;text-decoration:none;white-space:nowrap;font-size:12px;color:#d0d1dc}
.member-entry main{margin:24px auto 32px;max-width:500px;padding:0 18px}
.member-entry #accountTitle{margin:0 0 20px;font-size:26px;letter-spacing:.03em}
.member-entry .auth-card{padding:26px 24px 22px;background:#14151b;border-color:#33343e;border-radius:16px;box-shadow:none}
.auth-kicker{font-size:11px;color:#a3a5b5;letter-spacing:.12em;margin:0 44px 10px 0}
.auth-chooser h1{font-size:28px;letter-spacing:.02em;margin-bottom:12px}
.auth-chooser .auth-description{min-height:42px;line-height:1.7;margin-bottom:12px}
.auth-chooser .auth-switch{min-height:48px;border:1px solid #565863;border-radius:8px;background:#202129;text-decoration:none;font-size:13px;font-weight:650;margin-top:20px;padding:10px}
.auth-chooser[data-intent=register] .auth-switch{margin-top:24px}
.auth-chooser .auth-notice:not(:empty){padding:10px 12px;border:1px solid #6a5434;border-radius:8px;background:#2a241b}
.auth-chooser .auth-legal{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.auth-chooser .auth-legal a{min-height:44px}
.member-entry #memberCard{padding:0;border-color:#33343e;border-radius:16px;overflow:hidden;background:#14151b}
.member-identity{padding:20px 22px;border-bottom:1px solid #30313b}
.member-identity h2{margin:0;color:#b9e7cf;font-size:12px;font-weight:650;letter-spacing:.03em}
.member-identity h2 span{margin-right:5px;color:#63d397;font-size:9px}
.member-entry #profile{margin:8px 0 0;font-size:14px;color:#d7d8e0;line-height:1.6}
.member-destinations{padding:24px 22px}
.member-destinations h2{margin:0 0 6px;font-size:21px}
.member-destinations>p{margin:0 0 20px;color:#b6b8c6;font-size:13px;line-height:1.7}
.member-destinations a{display:flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px;text-decoration:none;font-size:14px;font-weight:700;border-radius:8px}
.member-primary{background:#c72b48;color:#fff;border:1px solid #e64863}
.member-secondary{margin-top:12px;background:#24252e;border:1px solid #565863;color:#f0f0f6}
.member-destinations .member-free-note{margin:16px 0 0;font-size:11px;color:#a7a9b9}
.member-settings{padding:20px 22px;border-top:1px solid #30313b;background:#101116}
.member-settings h2{font-size:12px;font-weight:600;margin:0 0 12px;color:#9fa2b4}
.member-entry #logout{min-height:44px;padding:8px 12px;margin:0;background:transparent;border:1px solid #4d4f5d;color:#dadbe5;border-radius:8px;font-size:13px;font-weight:600}
.member-entry #withdrawal{margin-top:14px;padding:0;border-top:0}
.member-entry #withdrawal summary{cursor:pointer;min-height:44px;padding:10px 0;color:#b8bac9;font-size:13px;list-style-position:inside}
.member-entry #withdrawal summary:focus-visible{outline:3px solid #ff9aad;outline-offset:3px;border-radius:4px}
.member-entry #withdrawal p{font-size:12px;line-height:1.8;margin:8px 0 14px}
.member-entry #withdrawal label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;cursor:pointer}
.member-entry #withdrawConfirm{flex:0 0 20px;margin:0;accent-color:#e24d69}
.member-entry #withdraw{min-height:44px;margin:8px 0 0;font-size:13px;background:transparent;border-color:#775660;color:#f0c4ce}
.member-entry #withdraw:disabled{color:#8e8991;border-color:#49404a;cursor:not-allowed}
.member-entry #legacyWithdrawal{font-size:12px;color:#a7a9b9;margin:18px 0 0}
.member-entry #legacyWithdrawal a{display:inline-flex;align-items:center;min-height:44px}
html[data-session-state=signed-in] #returnToSite{display:none}
.member-entry #returnToSite{display:flex;align-items:center;justify-content:center;min-height:44px;color:#c0c2cf;font-size:13px;text-underline-offset:4px}
.member-entry footer{gap:16px;flex-wrap:wrap;border-color:#24252d;padding:14px 16px;font-size:11px}
.member-entry footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:360px){.member-entry .member-header{padding:10px 14px}.member-brand img{width:152px}.member-header .member-home{padding:0 10px}.member-entry main{padding:0 12px;margin-top:20px}.member-entry .auth-card{padding:24px 18px 18px}.member-identity,.member-destinations,.member-settings{padding-left:18px;padding-right:18px}}


/* My Page: flat, light reference layout. Scoped to this account document only. */
.mypage{color-scheme:inherit;background:var(--ui-bg,#fff);color:var(--ui-text,#18191c);line-height:1.6;--account-red:#e90035;--account-muted:var(--ui-muted,#62666d)}
.mypage .member-header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;max-width:760px;margin:auto;padding:12px 20px;background:var(--ui-bg,#fff);border:0;gap:10px}
.mypage .member-brand{min-height:44px;padding:3px 9px;background:#08090c;border-radius:4px}.mypage .member-brand img{width:142px}.mypage .mypage-back{font-size:14px;font-weight:500;letter-spacing:0;text-decoration:none;min-height:44px;display:flex;align-items:center}
.mypage-menu{justify-self:end}.mypage-menu summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:grid;place-items:center;font-size:26px}.mypage-menu summary::-webkit-details-marker{display:none}.mypage-menu nav{position:absolute;z-index:5;right:20px;top:62px;max-width:calc(100vw - 40px);width:260px;background:var(--ui-bg,#fff);border:1px solid #ddd;box-shadow:0 8px 24px #0002;padding:8px}.mypage-menu nav a{display:block;min-height:48px;padding:12px;font-size:15px;text-decoration:none;border-bottom:1px solid #eee}
.mypage main{max-width:720px;padding:0;margin:24px auto 0}.mypage #accountTitle{margin:0 24px 26px;padding-left:12px;border-left:5px solid var(--account-red);font-size:28px;line-height:1.25}.mypage #accountTitle small{display:block;font-size:14px;color:var(--account-muted);font-weight:400;margin-top:6px;letter-spacing:0}.mypage #status,.mypage noscript{margin:16px 24px}.mypage #memberCard{padding:0;border:0;border-radius:0;background:var(--ui-bg,#fff);overflow:visible}
.mypage .member-identity{display:flex;gap:18px;align-items:center;padding:0 24px 26px;border:0}.mypage-avatar{display:grid;place-items:center;flex:0 0 66px;height:66px;border-radius:50%;background:var(--ui-panel,#f0f1f3);font-size:44px;color:#555}.mypage .member-identity h2{color:var(--ui-text,#18191c);font-size:19px;letter-spacing:0}.mypage #profile{color:var(--account-muted);margin:2px 0;font-size:14px}.mypage #planBadge{color:var(--account-red);font-weight:700;font-size:14px;margin:4px 0 0}
.mypage-plan{background:var(--ui-pink-panel,#fff3f6);padding:20px 24px}.mypage-plan h2{font-size:18px;margin:0 0 16px}.mypage #planName{font-size:22px;font-weight:750;color:var(--account-red);margin:0}.mypage #planPrice{font-size:25px;font-weight:700;margin:4px 0 12px}.mypage dl{margin:0}.mypage dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0}.mypage dt{flex-shrink:0}.mypage dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}.mypage-plan dl{border-top:1px solid #e5dce0;font-size:14px}.mypage #planNotice{font-size:13px;color:var(--account-muted)}
.mypage .mypage-section>h2,.mypage .member-settings>h2{background:var(--ui-panel,#f1f2f4);color:var(--ui-text,#18191c);padding:10px 24px;margin:0;font-size:17px;font-weight:750}.mypage-section-body{padding:18px 24px}.mypage #aiUsageText{font-size:22px;font-weight:750;margin:0 0 12px}.mypage progress{display:block;width:100%;height:14px;accent-color:var(--account-red);border:0;border-radius:6px;overflow:hidden;background:#e8e8eb}.mypage progress::-webkit-progress-bar{background:#e8e8eb}.mypage progress::-webkit-progress-value{background:var(--account-red)}.mypage progress::-moz-progress-bar{background:var(--account-red)}.mypage #aiReset{font-size:13px;color:var(--account-muted)}.mypage .mypage-note{font-size:12px;color:var(--account-muted);line-height:1.8}.mypage .mypage-outline{display:flex;min-height:44px;padding:10px 14px;align-items:center;justify-content:center;border:1px solid var(--account-red);border-radius:5px;color:var(--account-red);font-size:14px;font-weight:700;text-decoration:none}
.mypage .mypage-details{padding:4px 24px;font-size:14px}.mypage .mypage-details>div{border-bottom:1px solid #e4e4e7;min-height:52px;align-items:center}.mypage #selfMemberId{font-size:11px;color:var(--account-muted);overflow-wrap:anywhere;padding:0 24px}.mypage .mypage-arrow{display:flex;justify-content:space-between;align-items:center;min-height:48px;gap:12px;color:inherit;text-decoration:none;font-size:15px}.mypage .mypage-arrow span{font-size:24px}.mypage-plan .mypage-arrow{color:var(--account-red);font-weight:700}.mypage .member-destinations{padding:12px 24px 20px}.mypage .member-destinations .member-free-note{color:var(--account-muted);font-size:12px;margin:8px 0 0}
.mypage .member-settings{background:var(--ui-bg,#fff);padding:0 0 20px;border:0}.mypage .member-settings>.mypage-arrow{margin:4px 24px 14px}.mypage #logout{width:calc(100% - 48px);margin:0 24px;border-color:var(--ui-text,#303136);color:var(--ui-text,#18191c);border-radius:5px;min-height:48px;font-size:15px}.mypage #logout:disabled{color:#777;background:#eee}.mypage #withdrawal,.mypage #legacyWithdrawal{margin:12px 24px 0}.mypage #withdrawal summary{text-align:center;color:var(--ui-muted,#62666d);text-decoration:underline}.mypage #withdrawal p,.mypage #legacyWithdrawal{color:var(--ui-muted,#62666d)}.mypage #withdrawal label{color:var(--ui-text,#18191c)}.mypage #withdraw{color:#971330;border-color:#b2304d}.mypage #withdraw:disabled{color:#888;border-color:#ccc}.mypage footer{border:0;background:var(--ui-bg,#fff);color:var(--ui-muted,#62666d);padding:12px 24px 24px;gap:20px}.mypage #returnToSite{color:var(--ui-muted,#62666d)}.mypage #retry,.mypage #cancelAction{width:calc(100% - 48px);margin:12px 24px}.mypage :focus-visible{outline:3px solid #e90035;outline-offset:3px}
/* Guest chooser remains the same provider/auth controls, with a flat light surface. */
.mypage .auth-chooser{color-scheme:inherit;color:var(--ui-text,#18191c);margin:0 24px}.mypage .auth-card{background:var(--ui-bg,#fff);border:0;border-radius:0;color:var(--ui-text,#18191c);padding:12px 0 20px;box-shadow:none}.mypage .auth-description,.mypage .auth-free,.mypage .auth-legal,.mypage .auth-kicker{color:var(--ui-muted,#62666d)}.mypage .auth-chooser label{color:var(--ui-text,#303136)}.mypage .auth-chooser input{background:var(--ui-bg,#fff);color:var(--ui-text,#18191c);border-color:#a5a7ae}.mypage .auth-chooser .auth-switch,.mypage .auth-chooser .auth-text{background:var(--ui-panel,#f5f5f7);color:var(--ui-text,#303136);border-color:#b3b5bd}.mypage .auth-chooser .auth-close{color:#555}.mypage .auth-chooser .auth-notice:not(:empty){background:#fff8ea;color:#634711;border-color:#e9d3a1}.mypage .auth-divider{color:var(--ui-muted,#62666d)}.mypage .auth-divider:before,.mypage .auth-divider:after{background:#ddd}
@media(max-width:390px){.mypage .member-header{padding:10px 16px}.mypage .member-brand img{width:128px}.mypage #accountTitle{font-size:26px}.mypage dd{max-width:60%}.mypage #aiUsageText{font-size:20px}}
.mypage #memberCard[data-plan-state=free] .mypage-plan{background:var(--ui-panel,#f5f5f7)}.mypage #memberCard[data-plan-state=free] #planBadge{background:var(--ui-panel,#eceef1);color:var(--ui-text,#45494f);border-radius:4px;display:inline-block;padding:2px 8px}.mypage #memberCard[data-plan-state=free] #planName{color:var(--ui-text,#18191c)}.mypage #guestWelcome{padding:8px 24px 24px;text-align:center}.mypage #guestWelcome .mypage-avatar{width:80px;height:80px;margin:0 auto 20px}.mypage #guestTitle{font-size:24px;margin:0 0 10px}.mypage #guestWelcome p{font-size:14px}.mypage #guestWelcome button{background:#e90035;border-radius:5px;min-height:48px}.mypage #guestWelcome .mypage-register{background:transparent;color:#dc0035;margin-top:0}.mypage #guestWelcome h3{margin:20px -24px 0;padding:10px 24px;background:var(--ui-panel,#f1f2f4);text-align:left;font-size:17px}.mypage #guestWelcome ul{list-style:none;padding:0;text-align:left}.mypage #guestWelcome li{padding:14px 0;border-bottom:1px solid #e5e5e8;font-size:14px}.mypage #guestWelcome .mypage-arrow{justify-content:center;color:#d60031;margin-top:12px}
/* Login reference: full white document, intact provider marks and dynamic auth fields. */
.mypage .auth-card{padding-top:34px}.mypage .auth-kicker{display:none}.mypage .auth-chooser h1{text-align:center;font-size:36px;font-weight:800;line-height:1.3;margin:12px 28px 18px}.mypage .auth-chooser .auth-description{text-align:center;font-size:15px;line-height:1.8;margin:0 0 26px;min-height:0}.mypage .auth-chooser .auth-provider{width:100%;min-height:52px;height:52px;margin:12px 0;border-radius:5px}.mypage .auth-chooser .google{background:var(--ui-bg,#fff);border:1px solid #b9bec7}.mypage .auth-chooser .google img{width:216px;height:48px;object-fit:contain}.mypage .auth-chooser .line{background:#06c755;color:#fff;font-size:16px}.mypage .auth-chooser .line img{left:12px}.mypage .auth-divider{margin:26px 0 22px;font-size:13px}.mypage .auth-chooser input{min-height:50px;border-radius:5px}.mypage .auth-email-submit{min-height:52px;background:#e90035;font-size:16px}.mypage .auth-chooser .auth-switch{background:transparent;color:#d60031;border:0;border-top:1px solid #ddd;border-radius:0;margin-top:26px;padding-top:20px;font-size:14px;min-height:60px}.mypage .auth-chooser .auth-legal{margin-top:24px}.mypage .auth-chooser .auth-close{top:0;right:0}.mypage .auth-chooser .auth-password-label{margin-top:18px}

/* Higher specificity than the legacy member-theme layer; all account states share tokens. */
html[data-theme] body.mypage #memberCard,html[data-theme] body.mypage .member-settings,html[data-theme] body.mypage .member-header{background:var(--ui-bg);color:var(--ui-text)}
html[data-theme] body.mypage .member-identity h2{color:var(--ui-text)}
html[data-theme] body.mypage{--account-red:var(--ui-accent);--account-muted:var(--ui-muted)}
html[data-theme] body.mypage :is(.mypage-plan dl,.mypage-details>div,.mypage-menu nav,.mypage-menu nav a,.auth-chooser input,.auth-switch){border-color:var(--ui-line)}
html[data-theme] body.mypage :is(.mypage-avatar,.auth-close){color:var(--ui-muted)}
html[data-theme=dark] body.mypage :is(#logout:disabled,.auth-chooser .auth-retry){background:var(--ui-panel);color:var(--ui-muted)}
html[data-theme=dark] body.mypage :is(#withdraw:disabled,#legacyWithdrawal,#withdrawal p,#withdrawal summary){color:var(--ui-muted);border-color:var(--ui-line)}
html[data-theme=dark] body.mypage #withdraw:not(:disabled){color:#ffb5c5;border-color:#d8859b}
html[data-theme=dark] body.mypage .auth-chooser .auth-notice:not(:empty){background:#30271b;color:#ffe0a0;border-color:#866637}
html[data-theme] body.mypage .auth-chooser .google{background:#fff;color:#202124;border-color:#b9bec7}
html[data-theme] body.mypage .auth-chooser .line{background:#06c755;color:#fff}
html[data-theme] body.mypage :is(.auth-switch,.mypage-register,#guestWelcome .mypage-arrow){color:var(--ui-accent)}
html[data-theme] body.mypage :focus-visible{outline-color:var(--ui-focus)}
.mypage .member-header{grid-template-columns:minmax(44px,1fr) 132px minmax(88px,1fr);gap:6px}
.mypage .theme-brand-link{width:132px;grid-column:2;grid-row:1}.mypage .mypage-back{grid-column:1;grid-row:1}.mypage .mypage-menu{grid-column:3;grid-row:1;margin-right:48px}.mypage .theme-open{grid-column:3;grid-row:1;justify-self:end;width:44px;min-width:44px;padding:4px;margin:0;font-size:11px}.mypage .theme-dialog{line-height:1.6}
@media(max-width:360px){.mypage .member-header{padding:10px 12px;grid-template-columns:minmax(44px,1fr) 112px minmax(88px,1fr)}.mypage .theme-brand-link{width:112px}.mypage .mypage-back{font-size:12px}}
