/* A centered studio, with the same palette and control language as Messages. */
.has-account-hub{overflow:hidden;}
#account-hub{inset:0;margin:auto;width:min(1060px,calc(100vw - 36px));height:min(840px,calc(100dvh - 48px));max-width:none;max-height:none;padding:0;border:1px solid var(--line);border-radius:25px;background:var(--white);color:var(--ink);box-shadow:0 30px 120px #10271e45;overflow:hidden;}
#account-hub[open]{display:flex;flex-direction:column;}
#account-hub::backdrop{background:#14251f70;backdrop-filter:blur(9px);}
.account-hub-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 25px;border-bottom:1px solid var(--line);background:var(--white);flex-shrink:0;}
.account-hub-wordmark{display:flex;align-items:center;gap:12px;}.account-hub-wordmark>svg{width:34px;height:34px;padding:7px;border:1px solid var(--line);border-radius:11px;background:var(--soft);color:var(--accent);}
.account-hub-header .eyebrow{font-size:8px;letter-spacing:1.7px;margin:0 0 3px;}.account-hub-header h2{font:500 21px/1.2 Georgia,serif;letter-spacing:-.4px;margin:0;}
.account-hub-close{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--muted);font-size:25px;line-height:1;padding:0;}.account-hub-close:hover{background:var(--tint);border-color:var(--accent);color:var(--ink);}
.account-hub-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
#panel-account{padding:0 26px 26px;}
#account-hub .account-view-switch{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:5px;margin:0 -26px 22px;padding:13px 26px;background:var(--white);border-bottom:1px solid var(--line);}
#account-hub .account-view-switch button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;padding:11px 9px;white-space:nowrap;font-size:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);}
#account-hub .account-view-switch button>svg{width:16px;height:16px;flex-shrink:0;}
#account-hub .account-view-switch button:hover{background:var(--soft);color:var(--ink);}
#account-hub .account-view-switch button[aria-selected=true]{border-color:var(--line);background:var(--tint);color:var(--ink);font-weight:650;box-shadow:0 3px 9px var(--shadow);}
#account-hub [hidden]{display:none!important;}
#profile-status{font-size:10px;color:var(--muted);margin:0 0 12px;}#account-hub:has(#account-journey-view:not([hidden])) #profile-status{display:none;}
#account-hub .fineprint{color:var(--muted);}
.journey-hero{display:grid;grid-template-columns:1.2fr .8fr;border:1px solid var(--line);border-radius:21px;overflow:hidden;background:linear-gradient(125deg,color-mix(in srgb,var(--tone-rose) 9%,var(--white)),var(--white) 60%);}
.journey-identity{padding:28px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.journey-welcome{display:flex;gap:15px;align-items:center;}.journey-welcome .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:7px;}
.journey-avatar{width:58px;height:58px;flex-shrink:0;border:3px solid var(--white);outline:1px solid var(--line);border-radius:50%;background:var(--tint);display:grid;place-items:center;overflow:hidden;font:28px Georgia,serif;color:var(--ink);box-shadow:0 4px 12px var(--shadow);}.journey-avatar img{width:100%;height:100%;object-fit:cover;}
.journey-welcome h3{font:29px/1.1 Georgia,serif;letter-spacing:-.6px;overflow-wrap:anywhere;margin:0;}.journey-welcome p{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.7;}
.journey-rank{display:flex;align-items:center;gap:13px;margin:24px 0 13px;}.journey-level{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:linear-gradient(130deg,var(--tint),var(--white));font:25px Georgia,serif;color:var(--accent);}
.journey-rank-label{display:block;font-size:7px;letter-spacing:1.7px;color:var(--muted);margin-bottom:4px;}.journey-rank strong{display:block;font-size:15px;font-weight:600;}.journey-rank p{font-size:10px;color:var(--muted);margin-top:4px;}
.journey-rank-progress progress,.journey-goal progress{display:block;appearance:none;overflow:hidden;border:0;border-radius:8px;width:100%;height:5px;color:var(--accent);background:var(--line);}
.journey-rank-progress progress::-webkit-progress-bar,.journey-goal progress::-webkit-progress-bar{background:var(--line);border-radius:8px;}
.journey-rank-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--tone-rose),var(--tone-lavender),var(--tone-water));border-radius:8px;transition:width .7s;}
.journey-rank-progress progress::-moz-progress-bar{background:var(--accent);border-radius:8px;}
.journey-rank-progress>span{display:block;font-size:9px;color:var(--muted);margin-top:7px;}
.journey-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px;}.journey-actions .primary{font-size:10px;padding:10px 13px;}.journey-actions .text-button{font-size:10px;color:var(--ink);}
.journey-showcase{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px 18px;text-align:center;color:#fff;background:radial-gradient(ellipse at 80% 5%,#cbb5eb38,transparent 65%),linear-gradient(145deg,var(--feature-deep),var(--hero));overflow:hidden;}
.journey-showcase:before,.journey-showcase:after{content:'';position:absolute;width:250px;height:250px;border:1px solid #ffffff12;border-radius:50%;z-index:-1;}.journey-showcase:after{width:320px;height:320px;}
.journey-orbit{position:absolute;inset:-70%;z-index:-1;background:conic-gradient(from 45deg,transparent,#ded0fb18,transparent,#a2d0c91a,transparent);}
.journey-featured-medal{display:grid;place-items:center;width:142px;height:158px;padding:0;border:0;background:none;filter:drop-shadow(0 14px 12px #00100d35);transition:transform .35s;}
.journey-featured-medal:hover{transform:translateY(-5px) rotate(-4deg);}
.journey-featured-kicker{font-size:7px;letter-spacing:2px;opacity:.7;margin-top:8px;}.journey-showcase>strong{font:22px Georgia,serif;margin:7px 0;}.journey-showcase>span:last-child{font-size:9px;opacity:.75;max-width:230px;line-height:1.7;}
.journey-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border:1px solid var(--line);border-radius:14px;margin:16px 0 24px;padding:18px 10px;background:var(--white);}.journey-stats>div{display:flex;align-items:center;justify-content:center;gap:10px;border-inline-end:1px solid var(--line);min-width:0;}.journey-stats>div:last-child{border:0;}.journey-stats strong{font:27px Georgia,serif;color:var(--ink);}.journey-stats span{font-size:9px;color:var(--muted);}
.journey-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;}.journey-section-heading .eyebrow{font-size:7px;letter-spacing:1.8px;margin-bottom:6px;}.journey-section-heading h3{font:23px/1.2 Georgia,serif;letter-spacing:-.4px;margin:0;}.journey-section-heading>.text-button{font-size:10px;color:var(--ink);}
.journey-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.journey-goal{display:grid;grid-template-columns:55px minmax(0,1fr);gap:11px;align-items:start;padding:16px 13px;border:1px solid var(--line);border-radius:14px;background:var(--white);transition:border-color .25s,transform .25s;}.journey-goal:hover{border-color:var(--accent);transform:translateY(-2px);}
.journey-goal-art{padding:0;border:0;background:none;width:55px;height:67px;}.journey-goal-art svg{width:100%;height:100%;}
.journey-goal-category{display:block;text-transform:uppercase;font-size:6px;letter-spacing:1.5px;color:var(--muted);margin:4px 0 6px;}.journey-goal h4{font-size:12px;line-height:1.4;margin:0 0 6px;}.journey-goal h4 button{font:inherit;padding:0;background:none;border:0;text-align:start;}.journey-goal p{font-size:9px;line-height:1.7;min-height:31px;color:var(--muted);}
.journey-goal-progress{display:flex;gap:8px;align-items:center;margin:10px 0;}.journey-goal-progress progress{height:4px;}.journey-goal-progress progress::-webkit-progress-value{background:var(--accent);border-radius:8px;}.journey-goal-progress progress::-moz-progress-bar{background:var(--accent);}.journey-goal-progress>span{font-size:8px;white-space:nowrap;color:var(--muted);}.journey-goal .text-button{font-size:8px;white-space:normal;text-align:start;color:var(--ink);}
.journey-earned{margin-top:28px;}.journey-medal-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}.journey-shelf-medal{display:flex;align-items:center;flex-direction:column;gap:8px;padding:18px 10px;border:1px solid var(--line);border-radius:14px;background:radial-gradient(ellipse at 50% 20%,var(--tint),var(--white) 70%);}.journey-shelf-medal svg{width:90px;height:100px;transition:transform .3s;}.journey-shelf-medal:hover svg{transform:translateY(-5px) rotate(4deg);}.journey-shelf-medal strong{font-size:10px;}.journey-shelf-medal span{font-size:8px;color:var(--muted);}
.journey-empty{display:flex;gap:18px;align-items:center;padding:20px;background:var(--soft);border:1px dashed var(--line);border-radius:14px;}.journey-empty>span{font:40px Georgia,serif;color:var(--accent);}.journey-empty p{font-size:11px;line-height:1.8;color:var(--muted);flex:1;}.journey-empty .secondary{font-size:10px;}
.journey-footnote{font-size:9px;line-height:1.8;color:var(--muted);padding-top:22px;}
.journey-sync-status{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--amber-bg);color:var(--amber);font-size:11px;padding:12px 15px;margin-bottom:20px;border-radius:10px;}.journey-sync-status .text-button{color:inherit;}
.account-unlock-notice{display:flex;align-items:center;gap:10px;font-size:11px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--tone-mint) 40%,var(--line));background:color-mix(in srgb,var(--tone-mint) 12%,var(--white));border-radius:13px;margin-bottom:15px;}.account-unlock-notice>svg{width:22px;height:22px;color:var(--hero);flex-shrink:0;}.account-unlock-notice>span{flex:1;}.account-unlock-notice>button{border:0;background:none;font-size:20px;color:var(--muted);}
#account-hub .profile-editor-card{padding:22px;border-radius:17px;}#account-hub .profile-editor-card h2{font-size:25px;}

#account-guest-entry{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--soft);}#account-guest-entry h3{font:29px Georgia,serif;margin:0 0 10px;}#account-guest-entry p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:20px;}.account-owner-tools{margin-top:20px;}
@keyframes account-arrive{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes account-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:no-preference){body:not([data-motion=off]) #account-hub[open]{animation:account-arrive .35s cubic-bezier(.2,.8,.2,1);}body:not([data-motion=off]) .journey-orbit{animation:account-orbit 35s linear infinite;}body:not([data-motion=off]) .account-unlock-notice{animation:account-arrive .4s ease-out;}}
@media(max-width:850px){.journey-identity{padding:23px;}.journey-welcome{align-items:start;}.journey-welcome h3{font-size:26px;}.journey-avatar{width:48px;height:48px;font-size:24px;}.journey-goals{grid-template-columns:1fr;gap:10px;}.journey-goal{grid-template-columns:55px 1fr;padding:14px;}.journey-goal p{min-height:0;}.journey-goal h4{font-size:13px;}.journey-goal-progress{max-width:400px;}.journey-goal .text-button{font-size:10px;}#account-hub .account-view-switch button{flex:1 0 26%;}.journey-medal-shelf{grid-template-columns:repeat(2,minmax(0,1fr));}}
#account-dialog.edit-dialog,#welcome-dialog.edit-dialog{width:min(440px,calc(100vw - 32px));padding:28px 28px 22px;border:0;border-radius:22px;background:var(--white);color:var(--ink);box-shadow:0 28px 80px #10241a40}#account-dialog::backdrop,#welcome-dialog::backdrop{background:#10241c73;backdrop-filter:blur(10px)}#account-dialog .dialog-top,#welcome-dialog .dialog-top{align-items:center;margin-bottom:6px}#account-dialog h2,#welcome-dialog h2{font-family:Georgia,serif;font-weight:400;font-size:30px;letter-spacing:-.6px;line-height:1.15}#account-dialog .account-status{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--tone-mint) 14%,var(--white));font-size:13px}#account-dialog .account-help,#welcome-dialog>p{margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}#welcome-dialog>p+p{margin-top:8px}.account-auth{display:grid;gap:14px;margin:18px 0 4px}.account-auth .google-sign-in{margin:0;padding:13px 14px;border-radius:12px;box-shadow:0 1px 0 #ffffff inset}.account-auth .google-sign-in small{margin-top:2px}.account-auth .sign-in-divider{margin:0}.account-auth-form{display:grid;gap:12px;margin:0}.account-auth-form label{display:grid;gap:6px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.account-auth-form input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:14px;letter-spacing:0;text-transform:none}.account-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-auth-actions .primary,.account-auth-actions .secondary{width:100%;border-radius:10px;padding:12px 14px}.account-auth-status{min-height:1.1em;margin:0;font-size:12px;line-height:1.45;letter-spacing:0;text-transform:none;color:var(--amber)}.account-auth-note{margin:0;font-size:12px;line-height:1.55;text-align:center;color:var(--muted)}.account-auth-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}#account-dialog .account-local-note{margin-top:16px;padding-top:14px}#account-dialog .dialog-actions{margin-top:16px;padding-top:14px}#welcome-dialog .fineprint{color:var(--muted);max-width:none}
@media(max-width:600px){#account-hub{width:calc(100vw - 20px);height:calc(100dvh - 28px);border-radius:19px;}.account-hub-header{padding:14px 17px;}.account-hub-header h2{font-size:20px;}#panel-account{padding:0 16px 22px;}#account-hub .account-view-switch{margin:0 -16px 17px;padding:11px 16px;gap:4px;}#account-hub .account-view-switch button{font-size:9px;padding:9px 6px;gap:5px;}.journey-hero{grid-template-columns:1fr;}.journey-identity{padding:22px;}.journey-welcome h3{font-size:27px;}.journey-showcase{padding:17px;min-height:240px;}.journey-featured-medal{height:132px;width:120px;}.journey-showcase>strong{font-size:21px;}.journey-showcase>span:last-child{font-size:9px;}.journey-stats{gap:0;padding:16px 5px;}.journey-stats>div{flex-direction:column;gap:3px;}.journey-stats strong{font-size:24px;}.journey-stats span{font-size:8px;}.journey-section-heading{align-items:start;}.journey-section-heading h3{font-size:23px;}.journey-section-heading>.text-button{font-size:9px;}.journey-empty{flex-wrap:wrap;gap:14px;}.journey-empty p{flex:1 0 75%;}.journey-empty .secondary{margin-inline-start:42px;}#account-hub .profile-editor-card{padding:17px;}#account-hub .profile-editor-card input,#account-hub .profile-editor-card textarea,#account-hub .medal-search input{font-size:16px;}#account-hub .profile-editor-card .form-grid{grid-template-columns:1fr;}}
