/* Tactile navigation and consistent detail screens. */
.account-menu-open{transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease}
.account-menu-open:active,.account-menu-open.is-pressed{transform:scale(.9);box-shadow:inset 0 2px 9px #0005}
.account-menu-open span{transition:transform 180ms ease,opacity 180ms ease}
.account-menu-open.is-pressed span:first-child{transform:translateY(7px) rotate(45deg)}
.account-menu-open.is-pressed span:nth-child(2){opacity:0}
.account-menu-open.is-pressed span:last-child{transform:translateY(-7px) rotate(-45deg)}
.account-dialog .account-menu button{transition:background 180ms ease,transform 180ms ease,padding 180ms ease}
.account-dialog .account-menu button:active{transform:scale(.97);background:#2c4131}
.account-dialog:not(.is-profile-page) .account-menu:not([hidden]){animation:account-menu-return 280ms ease-out both}
@keyframes account-menu-return{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.account-dialog .account-contact-form button,.account-dialog .account-contact-links a,.account-dialog .account-faq summary{transition:transform 160ms ease,filter 160ms ease}
.account-dialog .account-contact-form button:active,.account-dialog .account-contact-links a:active,.account-dialog .account-faq summary:active{transform:scale(.97);filter:brightness(.9)}
.account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]){animation:account-page-enter 500ms cubic-bezier(.2,.75,.25,1) both}
.account-dialog.is-detail-leaving .account-detail section[data-page]:not([hidden]){animation:account-page-exit 300ms ease-in both!important}
@keyframes account-page-enter{from{opacity:0;transform:translateY(23px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes account-page-exit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(22px)}}
.account-dialog.is-profile-page #account-detail-back{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #4c6754;border-radius:50%;background:#223127;color:#e4f1e5;cursor:pointer;transition:transform 180ms ease,background 180ms ease}
.account-dialog.is-profile-page #account-detail-back:hover{background:#345c42}
.account-dialog.is-profile-page #account-detail-back:active{transform:scale(.9)}
.account-dialog #account-detail-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.account-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.account-dialog .account-privacy-link{display:block;margin-top:auto;padding:18px 0 6px;border-top:1px solid #3b5141;color:#b3c8b4;font-size:12px;text-decoration:none}
.account-dialog.is-profile-page .account-privacy-link{display:block}
.account-dialog .account-settings-grid{display:grid;gap:15px}
.account-dialog .account-settings-grid fieldset{display:grid;gap:10px;border:1px solid #47604e;border-radius:14px;padding:16px;background:#202b22}
.account-dialog .account-settings-grid legend{padding:0 7px;font-weight:800;color:#ebf5ec}
.account-dialog .account-settings-grid label{display:flex;align-items:center;gap:10px;min-height:35px;cursor:pointer;font-size:14px}
.account-dialog .account-settings-grid input{width:18px;height:18px;accent-color:#468358}
.account-dialog .account-settings-note{margin-top:16px}
.account-dialog .account-contact-form{display:grid;gap:15px}
.account-dialog .account-contact-form textarea,.account-dialog .account-contact-form select{width:100%;box-sizing:border-box;border:1px solid #607754;border-radius:9px;background:#0c170e;color:#fff;padding:11px;font:inherit}
.account-dialog .account-contact-form textarea{resize:vertical;min-height:120px}
.account-dialog .account-contact-form input[type=file]{font-size:12px}
.account-dialog .account-contact-form input[type=file]::file-selector-button{border:1px solid #6a9774;border-radius:8px;background:#2b5035;color:#fff;padding:7px;margin-right:10px}
.account-dialog .account-contact-form button:disabled{opacity:.6;cursor:wait}
.account-dialog .account-contact-note{display:block;color:#a9bba9;font-size:12px;line-height:1.45}
.account-dialog .account-contact-status:empty{display:none}
.account-dialog .account-contact-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.account-dialog .account-contact-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 13px;border:1px solid #65876b;border-radius:9px;color:#e9f5e9;text-decoration:none;font-size:13px;font-weight:800}
.account-dialog .account-faq{display:grid;gap:10px}
.account-dialog .account-faq details{border:1px solid #47604e;border-radius:12px;background:#202b22;padding:15px}
.account-dialog .account-faq summary{font-weight:800;cursor:pointer}
.account-dialog .account-faq p{margin:11px 0 0}
.account-dialog .account-history-reset{margin:24px 0;padding:20px;border:1px solid #496b52;border-radius:18px;background:#1b2c20}
.account-history-reset h3{margin:0 0 7px;font-size:20px}.account-history-reset>p{margin:0 0 17px;color:#bbd0be;font-size:13px;line-height:1.5}
.account-history-reset form{display:grid;gap:9px}.account-history-reset form>label{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #506b56;border-radius:12px;cursor:pointer;background:#23372a}
.account-history-reset form>label input{width:19px;height:19px;flex:none;accent-color:#3c8455}.account-history-reset form>label span{display:grid;gap:3px;min-width:0;flex:1}.account-history-reset form>label strong{font-size:14px}.account-history-reset form>label small{font-size:11px;line-height:1.35;color:#b8cdbb}.account-history-reset form>label em{font-style:normal;font-size:12px;font-weight:800;color:#cce1cf}
.account-history-reset button{min-height:41px;border:1px solid #6c9574;border-radius:10px;padding:9px 13px;background:#294a34;color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.account-history-reset button:disabled{opacity:.55;cursor:default}
.account-history-preview{justify-self:start}.account-history-confirm{padding:14px;border:1px solid #a58449;border-radius:12px;background:#3a301f}.account-history-confirm p{margin:0 0 12px;font-size:12px;line-height:1.45;color:#f2dec0}.account-history-confirm input{width:100%;box-sizing:border-box;min-height:42px;border:1px solid #ab9369;border-radius:9px;padding:9px 11px;font:inherit}.account-history-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:11px}.account-history-message{min-height:1em;margin:0;font-size:12px;color:#d3ead5}
html[data-theme=light] .account-dialog .account-history-reset{background:#f5f9f5;border-color:#cfdfd1}html[data-theme=light] .account-history-reset>p,html[data-theme=light] .account-history-reset form>label small{color:#526a57}html[data-theme=light] .account-history-reset form>label{background:#fff;border-color:#d5e2d6}html[data-theme=light] .account-history-reset form>label em{color:#276140}html[data-theme=light] .account-history-confirm{background:#fff9ec;border-color:#e2cda3}html[data-theme=light] .account-history-confirm p{color:#5b4a2b}html[data-theme=light] .account-history-message{color:#276140}
html[data-theme=light] .account-dialog.is-profile-page #account-detail-back{background:#e7efe8;color:#1b4c2e;border-color:#bfd1c2}
html[data-theme=light] .account-dialog .account-settings-grid fieldset,html[data-theme=light] .account-dialog .account-faq details{background:#f6f9f6;border-color:#d6e2d8}
html[data-theme=light] .account-dialog .account-settings-grid legend{color:#1c3325}
html[data-theme=light] .account-dialog .account-contact-form textarea,html[data-theme=light] .account-dialog .account-contact-form select{background:#fff;color:#17271d;border-color:#b8cdbb}
html[data-theme=light] .account-dialog .account-contact-note{color:#566d5c}
html[data-theme=light] .account-dialog .account-contact-links a{color:#205334;border-color:#a9c5af}
html[data-theme=light] .account-dialog .account-privacy-link{color:#4c6754;border-color:#d6e2d8}
@media(prefers-reduced-motion:reduce){.account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]),.account-dialog.is-detail-leaving .account-detail section[data-page]:not([hidden]){animation:none!important}.account-menu-open,.account-menu-open span,.account-dialog .account-menu button{transition:none!important}}
.reduce-motion .account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]),.reduce-motion .account-dialog.is-detail-leaving .account-detail section[data-page]:not([hidden]){animation:none!important}

/* One full-screen canvas for the menu and every account section. */
.account-dialog{inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.account-dialog[open]:not(.is-profile-page):not(.is-closing){animation:account-full-enter 440ms cubic-bezier(.2,.75,.25,1) both}
.account-dialog[open].is-closing{animation:account-full-exit 360ms ease-in both}
.account-dialog[open].is-profile-page.is-closing{animation:account-full-exit 360ms ease-in both!important}
@keyframes account-full-enter{from{opacity:0;filter:blur(3px);transform:scale(.985)}to{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes account-full-exit{from{opacity:1;filter:blur(0);transform:scale(1)}to{opacity:0;filter:blur(3px);transform:scale(.985)}}
.account-dialog:not(.is-profile-page) .account-drawer{width:min(100%,590px);margin:0 auto;box-sizing:border-box;padding:20px 20px 30px}
.account-dialog:not(.is-profile-page) .account-user{border-bottom:0}
.account-dialog .account-user :is(strong,small){text-decoration:none!important;text-decoration-line:none!important;border-bottom:0!important}
.account-dialog:not(.is-profile-page) :is(.account-drawer-top,.account-user,.account-home-link){animation:account-menu-return 320ms ease-out both}
.account-dialog .account-home-link{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;min-height:48px;margin-top:auto;padding:10px 16px;border:1px solid #56705c;border-radius:12px;background:#23352a;color:#eaf3eb;text-decoration:none;font-size:13px;font-weight:800;transition:transform 160ms ease,background 160ms ease}
.account-dialog .account-home-link:hover{background:#2e4d37}
.account-dialog .account-home-link:active{transform:scale(.97)}
.account-dialog .account-home-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.account-dialog .account-detail section[data-page=settings]:not([hidden]){display:flex;flex-direction:column;min-height:calc(100dvh - 95px)}
.account-dialog .account-detail section[data-page=settings] .account-privacy-link{margin-top:auto;padding-top:20px;text-decoration:none}
.account-dialog .account-detail section[data-page=settings] .account-privacy-link:hover{text-decoration:underline}
.account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]){animation:account-page-enter 520ms cubic-bezier(.2,.75,.25,1) both}
@keyframes account-page-enter{from{opacity:0;filter:blur(5px);transform:translateY(10px) scale(.965)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
@keyframes account-page-exit{from{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}to{opacity:0;filter:blur(3px);transform:translateY(12px) scale(.985)}}
html[data-theme=light] .account-dialog .account-home-link{background:#eff5ef;color:#205333;border-color:#c7d9cb}
html[data-theme=light] .account-dialog .account-home-link:hover{background:#e4efe6}
@media(max-width:520px){.account-dialog:not(.is-profile-page) .account-drawer{padding:18px 16px 24px}.account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]){animation-duration:490ms}}
@media(prefers-reduced-motion:reduce){.account-dialog[open],.account-dialog[open]::backdrop,.account-dialog:not(.is-profile-page) :is(.account-drawer-top,.account-user,.account-home-link,.account-menu),.account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]){animation:none!important;filter:none!important}}

/* Keep navigation moving in the same direction on every account screen. */
@keyframes account-full-enter{from{opacity:.78;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
@keyframes account-full-exit{from{opacity:1;transform:translateX(0)}to{opacity:.75;transform:translateX(100%)}}
@keyframes account-menu-return{from{opacity:0;transform:translateX(38px)}to{opacity:1;transform:translateX(0)}}
@keyframes account-page-enter{from{opacity:0;transform:translateX(64px)}to{opacity:1;transform:translateX(0)}}
@keyframes account-page-exit{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-28px)}}
.account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]){animation-duration:480ms;will-change:transform,opacity}
.account-dialog.is-profile-page #account-detail-back{animation:account-menu-return 440ms ease-out both}
.account-dialog.is-detail-leaving #account-detail-back{animation:account-page-exit 300ms ease-in both!important}
.account-dialog .account-home-wrap{display:flex;justify-content:center;margin-top:auto;padding:19px 0 0;border-top:1px solid #536b5a}
.account-dialog .account-platform-switch{display:grid;gap:10px;margin:14px 0 18px;padding-top:16px;border-top:1px solid #536b5a}
.account-dialog .account-platform-switch>strong{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a9bdaa}
.account-dialog .account-platform-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-dialog .account-platform-switch a{display:flex;align-items:center;justify-content:center;min-height:42px;box-sizing:border-box;padding:8px 10px;border:1px solid #597462;border-radius:11px;background:#23372a;color:#f0f7f0;text-align:center;text-decoration:none;font-size:13px;font-weight:800;transition:background 160ms ease,transform 160ms ease}
.account-dialog .account-platform-switch a:hover{background:#2e4e39}
.account-dialog .account-platform-switch a:active{transform:scale(.97)}
html[data-theme=light] .account-dialog .account-platform-switch{border-top-color:#c8d8cb}
html[data-theme=light] .account-dialog .account-platform-switch>strong{color:#4c6754}
html[data-theme=light] .account-dialog .account-platform-switch a{background:#f1f7f2;border-color:#b9d0bf;color:#1d5232}
html[data-theme=light] .account-dialog .account-platform-switch a:hover{background:#e3efe6}
.account-dialog:not(.is-profile-page) .account-menu{padding-bottom:24px}
.account-dialog.is-profile-page .account-home-wrap{display:none}
.account-dialog .account-home-wrap .account-home-link{width:auto;min-height:37px;margin:0;padding:7px 14px;border-radius:9px;gap:7px;background:#1f3327;color:#edf4ee;font-size:12px}
.account-dialog .account-home-wrap .account-home-link svg{width:15px;height:15px}
html[data-theme=light] .account-dialog .account-home-wrap{border-top-color:#9cafa0}
html[data-theme=light] .account-dialog .account-home-wrap .account-home-link{background:#28553a;color:#fff;border-color:#28553a}
html[data-theme=light] .account-dialog .account-home-wrap .account-home-link:hover{background:#1c422c}
@media(max-width:520px){.account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]){animation-duration:440ms}.account-dialog .account-home-wrap{padding-top:17px}}
@media(prefers-reduced-motion:reduce){.account-dialog.is-profile-page #account-detail-back,.account-dialog.is-detail-leaving #account-detail-back,.account-dialog .account-home-wrap .account-home-link{animation:none!important;transition:none!important}}

/* Two full-width layers make account navigation a continuous right-side stack. */
.account-dialog[open]:not(.is-closing){animation:none!important}
.account-dialog[open].is-opening:not(.is-closing){animation:account-stack-open 480ms cubic-bezier(.2,.76,.22,1) both!important}
.account-dialog[open].is-closing{animation:account-stack-close 400ms ease-in both!important}
@keyframes account-stack-open{from{opacity:.65;filter:blur(3px);transform:translateX(100%) scale(.985)}to{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}}
@keyframes account-stack-close{from{opacity:1;filter:blur(0);transform:translateX(0)}to{opacity:.7;filter:blur(3px);transform:translateX(100%)}}
.account-dialog .account-drawer,.account-dialog.is-profile-page .account-drawer{position:relative;width:100%;height:100%;overflow:hidden;padding:0}
.account-dialog:not(.is-profile-page) .account-drawer{position:relative;width:100%;height:100%;overflow:hidden;margin:0;padding:0}
.account-dialog .account-menu-screen,.account-dialog .account-detail{position:absolute;inset:0;box-sizing:border-box;width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;background:inherit}
.account-dialog .account-menu-screen{z-index:2;display:flex;flex-direction:column;align-items:stretch;padding:18px max(16px,calc((100% - 590px)/2)) 22px}
.account-dialog .account-detail,.account-dialog.is-profile-page .account-detail{z-index:1;width:100%;margin:0;padding:18px max(16px,calc((100% - 590px)/2)) 36px}
.account-dialog .account-detail[hidden]{display:none}
.account-dialog.is-profile-page .account-menu-screen{pointer-events:none;animation:account-stack-menu-out 460ms cubic-bezier(.2,.76,.22,1) both}
.account-dialog.is-profile-page .account-detail{animation:account-stack-detail-in 460ms cubic-bezier(.2,.76,.22,1) both}
.account-dialog.is-detail-leaving .account-menu-screen{z-index:1;animation:account-stack-menu-back 460ms cubic-bezier(.2,.76,.22,1) both}
.account-dialog.is-detail-leaving .account-detail{z-index:2;animation:account-stack-detail-out 460ms cubic-bezier(.2,.76,.22,1) both}
@keyframes account-stack-menu-out{from{opacity:1;filter:blur(0);transform:translateX(0)}to{opacity:.7;filter:blur(3px);transform:translateX(100%)}}
@keyframes account-stack-detail-in{from{opacity:.55;filter:blur(3px);transform:translateX(48px) scale(.97)}to{opacity:1;filter:blur(0);transform:translateX(0) scale(1)}}
@keyframes account-stack-detail-out{from{opacity:1;filter:blur(0);transform:translateX(0)}to{opacity:.7;filter:blur(3px);transform:translateX(100%)}}
@keyframes account-stack-menu-back{from{opacity:.55;filter:blur(3px);transform:translateX(-44px)}to{opacity:1;filter:blur(0);transform:translateX(0)}}
.account-dialog.is-profile-page .account-detail section[data-page]:not([hidden]),.account-dialog.is-detail-leaving .account-detail section[data-page]:not([hidden]),.account-dialog.is-profile-page #account-detail-back,.account-dialog:not(.is-profile-page) :is(.account-drawer-top,.account-user,.account-home-link,.account-menu){animation:none!important}
.account-dialog.is-profile-page .account-menu-screen :is(.account-drawer-top,.account-user,.account-home-link){display:initial}
.account-dialog.is-profile-page .account-menu-screen .account-drawer-top{display:flex}
.account-dialog.is-profile-page .account-menu-screen .account-user{display:flex}
.account-dialog.is-profile-page .account-menu-screen .account-home-link{display:flex}
.account-dialog .account-user{padding:14px 0 10px;gap:5px}
.account-dialog .account-avatar{width:68px;height:68px;font-size:22px}
.account-dialog .account-user strong{font-size:17px}
.account-dialog .account-menu{padding-top:4px}
.account-dialog .account-menu button{padding-block:13px}
.account-dialog .account-home-wrap{flex:none;margin-top:12px}
@media(prefers-reduced-motion:reduce){.account-dialog[open],.account-dialog .account-menu-screen,.account-dialog .account-detail{animation:none!important;filter:none!important;transform:none!important}}
.reduce-motion .account-dialog[open],.reduce-motion .account-dialog .account-menu-screen,.reduce-motion .account-dialog .account-detail{animation:none!important;filter:none!important;transform:none!important}

/* The menu shows only a first name; keep the navigation at its current height. */
.account-dialog .account-menu-screen .account-user{min-height:164px;box-sizing:border-box;padding:10px 0 10px}
.account-dialog .account-menu-screen #account-email{display:none}
.account-dialog .account-menu-screen .account-avatar{width:76px;height:76px}
.account-dialog .account-effort-settings label{display:grid;gap:6px;align-items:start}
.account-dialog .account-effort-settings select{width:100%;min-height:39px;padding:7px 10px;border:1px solid #64806a;border-radius:9px;background:#17251b;color:#f2f8f1;font:inherit}
.account-dialog .account-effort-settings small{color:#bbcbbe;line-height:1.4}
html[data-theme=light] .account-dialog .account-effort-settings select{background:#fff;color:#1c3022;border-color:#b6cdbb}
html[data-theme=light] .account-dialog .account-effort-settings small{color:#53685a}

/* A quiet glass return link under Support on narrow screens. */
@media(max-width:520px){
  .account-dialog:not(.is-profile-page) .account-menu{padding-bottom:0}
  .account-dialog .account-home-wrap{justify-content:flex-start;margin-top:13px;padding:0;border:0}
  .account-dialog .account-home-wrap .account-home-link{min-height:38px;padding:7px 13px;border:1px solid #a7c6ae55;border-radius:11px;background:linear-gradient(145deg,#ffffff18,#b2d7bb0d);box-shadow:0 5px 14px #00000024,inset 0 1px 0 #ffffff38;color:#e9f5eb;backdrop-filter:blur(10px) saturate(1.15);-webkit-backdrop-filter:blur(10px) saturate(1.15);transition:transform 160ms ease,background 160ms ease,box-shadow 160ms ease}
  .account-dialog .account-home-wrap .account-home-link:hover{background:#ffffff26;box-shadow:0 7px 16px #0000002b,inset 0 1px 0 #ffffff48}
  .account-dialog .account-home-wrap .account-home-link:active{transform:scale(.98);box-shadow:0 2px 7px #0000001f,inset 0 1px 0 #ffffff38}
  html[data-theme=light] .account-dialog .account-home-wrap .account-home-link{border-color:#9bbca680;background:linear-gradient(145deg,#e5f1e9b8,#cfe3d486);box-shadow:0 5px 14px #214c3024,inset 0 1px 0 #ffffffd9;color:#214d31}
  html[data-theme=light] .account-dialog .account-home-wrap .account-home-link:hover{background:#dceee1d9;box-shadow:0 7px 16px #214c302b,inset 0 1px 0 #fff}
  html[data-theme=light] .account-dialog .account-home-wrap .account-home-link:active{box-shadow:0 2px 7px #214c301f,inset 0 1px 0 #fff}
}
