garden-guest { display: block; min-width: 0; }
.guest-profile { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 20px; color: #252a39; font: 12px/1.4 system-ui, sans-serif; letter-spacing: 0; text-transform: none; }
.guest-identity { display: flex; align-items: center; gap: 9px; min-width: 0; }
.guest-pending { min-height: 42px; }
.guest-pending .guest-status { flex-basis: auto; }
.guest-flower { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #dae9df; color: #365747; font-size: 24px; flex-shrink: 0; }
.guest-caption { color: #454b59; font-size: 11px; }
.guest-name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.guest-name strong { color: #252a39; font: 650 13px/1.4 system-ui, sans-serif; }
.guest-tag { color: #454b59; font: 10px/1.4 ui-monospace, monospace; }
.guest-profile a { color: #252a39; text-decoration: underline; text-underline-offset: 4px; font-weight: 550; }
.guest-profile .guest-claim-link { display: inline-flex; align-items: center; min-height: 42px; font-size: 12px; }
.guest-profile :is(a,button):focus-visible { outline: 3px solid #755592; outline-offset: 3px; border-radius: 3px; }
.guest-profile .guest-status { flex-basis: 100%; margin: 0; color: #454b59; font: 12px/1.5 system-ui, sans-serif; }
.guest-status button { min-height: 42px; padding: 5px 8px; background: transparent; border: 0; color: #252a39; text-decoration: underline; font: inherit; cursor: pointer; }
.site-header nav:has(garden-guest) { display: block; }
.site-header .guest-profile { justify-content: flex-end; }
.guest-claim { display: block; }
.site-shell:has(.site-header .guest-signed-in) .home-page > .garden-note { display: none; }
.guest-claim .guest-identity { padding: 16px; border-radius: 12px; background: #edf1e9; }
.guest-claim .guest-name strong { font-size: 20px; }
.guest-details h2 { font-size: 26px; letter-spacing: -.5px; margin-top: 24px; }
.guest-details p { color: #454b59; font: 15px/1.7 system-ui, sans-serif; }
.guest-details .guest-play { display: inline-flex; min-height: 44px; align-items: center; }
@media(max-width:700px) {
  .site-header:has(garden-guest) { flex-wrap: wrap; gap: 12px; }
  .site-header nav:has(garden-guest) { width: 100%; }
  .site-header .guest-profile { justify-content: space-between; }
}
@media(max-width:700px) {
  .guest-badge { gap: 4px 10px; }
  .guest-badge .guest-tag { display: none; }
  .guest-badge .guest-claim-link { max-width: 120px; }
}
.guest-details { overflow-wrap: anywhere; }
.auth-form, .auth-options { display: grid; gap: 12px; }
.auth-options { margin-top: 20px; }
.auth-form label { font-size: 14px; font-weight: 600; }
.guest-details input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; border: 1px solid #7b8290; border-radius: 8px; background: #fffdf8; color: #252a39; padding: 10px 12px; font: 16px/1.4 system-ui,sans-serif; }
.guest-details button { min-height: 44px; padding: 10px 16px; border: 1px solid #7b8290; border-radius: 8px; color: #252a39; font: 600 14px/1.4 system-ui,sans-serif; cursor: pointer; }
.guest-details .auth-primary { background: #efa482; }
.guest-details .auth-secondary, .guest-details .auth-google { background: #fffdf8; }
.guest-details button:disabled { opacity: .55; cursor: default; }
.guest-details input:focus-visible { outline: 3px solid #755592; outline-offset: 3px; }
.guest-details .auth-hint, .guest-details .auth-preview { font-size: 12px; line-height: 1.6; margin: 0; }
.auth-preview { margin-top: 16px !important; padding: 12px; background: #eee6f5; border-radius: 8px; }
.auth-divider { text-align: center; color: #454b59; }
.auth-message { margin: 12px 0; }
#garden-code { font: 24px ui-monospace, monospace; letter-spacing: .4em; }
.account-copy > p:not(.eyebrow), .account-copy .planned-label { color: #454b59; }
.account-copy .planned-label { font-size: 12px; line-height: 1.6; }
.guest-details .auth-form label { margin: 0; }

.guest-profile .guest-achievements-link { display: inline-flex; align-items: center; min-height: 28px; text-decoration-color: #9a8da5; text-decoration-thickness: 1px; }
.guest-profile .guest-achievements-link:hover { text-decoration-color: #755592; }

.guest-badge .guest-caption { font-weight: 650; }
.guest-sync-hint { flex-basis:100%; margin:0; color:#454b59; font-size:12px; text-align:right; }
.guest-badge .guest-claim-link { padding:0 10px; background:#eee6f5; border:1px solid #b8a6ca; border-radius:8px; }
@media(max-width:700px){.guest-sync-hint{text-align:left}.guest-badge .guest-claim-link{max-width:none}}
/* Account guidance participates in header height instead of spilling over the page title. */
.site-header:has(garden-guest){height:auto;min-height:110px;padding-block:24px}
@media(max-width:700px){.site-header:has(garden-guest){min-height:0;padding-block:20px;gap:16px}.guest-sync-hint{line-height:1.6}}

.guest-label-compact { display:none; }
@media (max-width:700px) {
  .home-header.site-header:has(garden-guest) { padding-block:18px 10px; gap:12px; }
  .home-header .guest-badge { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; }
  .home-header .guest-badge .guest-identity { gap:0; }
  .home-header .guest-badge .guest-identity > div { min-width:0; }
  .home-header .guest-badge .guest-flower { display:none; }
  .home-header .guest-badge .guest-caption { font-size:11px; font-weight:500; }
  .home-header .guest-badge .guest-name { display:block; }
  .home-header .guest-badge .guest-achievements-link { min-height:44px; max-width:100%; }
  .home-header .guest-badge .guest-name strong { overflow-wrap:anywhere; font-size:13px; }
  .home-header .guest-badge .guest-claim-link { min-height:44px; padding:0 12px; text-decoration:none; font-weight:600; }
  .home-header .guest-badge .guest-sync-hint,
  .home-header .guest-badge .guest-status { grid-column:1 / -1; font-size:12px; line-height:1.5; text-align:left; }
  .home-header .guest-badge .guest-label-full { display:none; }
  .home-header .guest-badge .guest-label-compact { display:inline; }
  .home-header .guest-pending .guest-identity { grid-column:1 / -1; min-height:54px; }
}

.guest-mobile-profile { display:none; }
