/* App surfaces use the same quiet palette as the portal. Native state colors remain intact. */
html[data-pm-app] body { font-family: var(--world-font); }
#pm-garden-welcome { position: fixed; top: 20px; left: 20px; bottom: 20px; width: calc(49% - 20px); border-radius: 27px; overflow: hidden; z-index: 51; background: linear-gradient(180deg,#f0f5e8eb 5%,#f0f5e8ce 38%,#f0f5e800 66%),url('/world/sky-garden.webp') 65% bottom/cover; padding: 36px; color: #264535; pointer-events: none; }
.pm-garden-home { display: inline-flex; gap: 12px; align-items: center; font-size: 18px; font-weight: 650; text-decoration: none; pointer-events: auto; }
.pm-garden-home small { display: block; font-size: 9px; letter-spacing: 3px; font-weight: 400; margin-top: 4px; }
.pm-garden-story { margin-top: clamp(36px,9vh,100px); max-width: 430px; }
.pm-garden-eyebrow { font-size: 9px; letter-spacing: 2px; color: #597561; }
.pm-garden-story h1 { white-space: pre-line; font: 600 clamp(32px,3.6vw,52px)/1.55 'Noto Serif SC','Songti SC',serif; letter-spacing: -1.5px; margin: 17px 0; }
.pm-garden-story p { font-size: 13px; color: #48644f; line-height: 1.9; }
.pm-garden-app { display: inline-block; font-size: 9px; letter-spacing: 1.8px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #75966e70; }
.pm-garden-footnote { position: absolute; bottom: 27px; left: 36px; color: #fffdf1; text-shadow: 0 1px 8px #152d25; font-size: 11px; }
.pm-garden-auth .pm-garden-login-host { margin-left: 53vw !important; margin-right: 5vw !important; width: 39vw !important; max-width: 460px !important; padding-inline: 0 !important; }
html[data-pm-app="ai"] .pm-garden-auth .pm-garden-login-host { margin-left: 49vw !important; margin-right: 0 !important; }
html[data-pm-app="ai"] .pm-garden-login-card { background: var(--world-paper); border: 1px solid var(--world-line); box-shadow: var(--world-shadow); border-radius: 24px; padding: 36px !important; text-align: left; color: var(--world-ink) !important; }
html[data-pm-app="ai"] .pm-garden-login-card form>div:first-child { margin-bottom: 20px; }
html[data-pm-app="ai"] .pm-garden-login-card label { color: var(--world-muted); font-size: 12px; }
html[data-pm-app="ai"] .pm-garden-login-card input { border: 1px solid var(--world-line); border-radius: 12px; background: var(--world-bg); color: var(--world-ink); min-height: 48px; padding: 12px 14px; font-family: var(--world-font); }
html[data-pm-app="ai"] .pm-garden-login-card input::placeholder { color: #788679; }
html[data-pm-app="ai"] .pm-garden-login-card #password { min-width: 0; }
html[data-pm-app="ai"] .pm-garden-login-card button[aria-pressed] { padding: 0 10px; color: var(--world-muted); }
html[data-pm-app="ai"] .pm-garden-login-card button[type="submit"] { background: #356957 !important; color: white !important; border-radius: 12px; min-height: 47px; box-shadow: 0 6px 15px #35695720; }
html[data-pm-app="ai"] .pm-garden-login-card button[type="submit"]:hover { background: #274f40 !important; }
html[data-pm-app="ai"] .pm-garden-login-card input:focus-visible { outline: 2px solid var(--world-green); outline-offset: 2px; }
html[data-pm-app="ai"] { --color-gray-50:#f8faf5; --color-gray-100:#f0f3eb; --color-gray-200:#dce5d7; --color-gray-300:#bdcdbd; --color-gray-400:#8da18f; --color-gray-500:#6b816f; --color-gray-600:#536b59; --color-gray-700:#3b5445; --color-gray-800:#293f34; --color-gray-900:#1c3027; --color-gray-950:#14241d; }
html[data-pm-app="ai"]:not(.dark) body,html[data-pm-app="ai"]:not(.dark) #chat-container { background: #f5f6f0; }
html[data-pm-app="ai"]:not(.dark) #sidebar { background: #edf1e7 !important; border-right: 1px solid #dce4da; }
html[data-pm-app="ai"] #chat-input { font-family: var(--world-font); }
html[data-pm-app="ai"] #send-message-button { background: #356957; color: #fff; }
html[data-pm-app="ai"].dark { --world-bg:#142420; --world-paper:#1e322b; --world-ink:#edf2e8; --world-muted:#b0c2b4; --world-line:#385044; --world-green:#b6d5ab; color-scheme:dark; }
html[data-pm-app="ai"].dark .pm-garden-login-card input::placeholder { color:#afbfac; }
html[data-pm-app="drive"] body .pm-garden-login-card { border: 1px solid var(--pm-border); border-radius: 24px; box-shadow: var(--world-shadow); padding: 24px; background: var(--pm-panel) !important; }
html[data-pm-app="drive"] body .MuiButton-root { border-radius: 12px; min-height: 42px; text-transform: none; }
html[data-pm-app="drive"] body .MuiOutlinedInput-root { border-radius: 12px; }
html[data-pm-app="drive"] body .MuiButton-containedPrimary { background: #356957 !important; color: white !important; box-shadow: 0 4px 14px #35695720; }
html[data-pm-app="drive"] body .MuiButton-containedPrimary *,html[data-pm-app="drive"] body .MuiButton-containedPrimary .MuiSvgIcon-root { color: white !important; }
html[data-pm-app="drive"] body .MuiButton-root.Mui-disabled { opacity: .46 !important; }
html[data-pm-app="drive"] body .MuiInputLabel-root.Mui-focused { color: #356957 !important; }
html[data-pm-app="drive"] body .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline { border-color: #356957 !important; }
html[data-pm-app="drive"] body .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline { border-color: #b74e3c !important; }
html[data-pm-app="drive"] body .MuiFormHelperText-root.Mui-error,html[data-pm-app="drive"] body .MuiFormLabel-root.Mui-error { color: #b74e3c !important; }
html[data-pm-app="drive"] body .MuiButton-root:hover { filter: brightness(.97); }
html[data-pm-app="drive"] body .MuiMenu-paper,html[data-pm-app="drive"] body .MuiDialog-paper { border: 1px solid var(--pm-border); border-radius: 18px; box-shadow: var(--world-shadow); }
html[data-pm-app="drive"] body .MuiTreeItem-content.Mui-selected { background: #e1ebdc !important; }
html[data-pm-app="drive"] body .MuiAvatar-root { background: #e1ebdc !important; color: #356957 !important; }
@media(max-width:800px) {
  #pm-garden-welcome { position: relative; top: auto; left: auto; bottom: auto; width: auto; min-height: 160px; margin: 16px; padding: 23px; background-position: 75% 55%; z-index: 1; }
  .pm-garden-story { margin-top: 18px; }
  .pm-garden-story h1 { font-size: 27px; white-space: normal; margin: 8px 0; }
  .pm-garden-story p { font-size: 11px; max-width: 220px; }
  .pm-garden-eyebrow,.pm-garden-app,.pm-garden-footnote { display: none; }
  .pm-garden-home { font-size: 15px; }
  .pm-garden-home .world-mark { width: 34px; height: 34px; font-size: 17px; border-radius: 12px; }
  .pm-garden-auth #pm-garden-welcome { position: fixed; inset: 0 0 auto; margin: 0; min-height: 145px; border-radius: 0 0 24px 24px; padding: 20px 24px; z-index: 51; }
  .pm-garden-auth .pm-garden-home { pointer-events: auto; }
  .pm-garden-auth .pm-garden-story { margin-top: 8px; }
  .pm-garden-auth .pm-garden-story h1 { font-size: 24px; margin: 0; }
  .pm-garden-auth .pm-garden-story p { display: none; }
  .pm-garden-auth .pm-garden-login-host,html[data-pm-app="ai"] .pm-garden-auth .pm-garden-login-host { margin: 160px auto 24px !important; width: calc(100vw - 40px) !important; max-width: 420px !important; }
  html[data-pm-app="ai"] .pm-garden-login-card { padding: 25px !important; }
  html[data-pm-app="drive"] body .pm-garden-login-card { padding: 16px; }
}
@media(max-height:540px) and (max-width:800px) { .pm-garden-auth #pm-garden-welcome { display:none; } .pm-garden-auth .pm-garden-login-host,html[data-pm-app="ai"] .pm-garden-auth .pm-garden-login-host { margin:24px auto !important; } }

/* Browser and mobile corrections verified against native login containers. */
html[data-pm-app="ai"] .font-primary, html[data-pm-app="ai"] .pm-garden-login-card * { font-family: var(--world-font) !important; }
html[data-pm-app="ai"] .pm-garden-login-card input { font-size: 14px; }
@media(max-width:800px) {
  .pm-garden-auth .pm-garden-login-layout { margin: 0 !important; display: block !important; padding-top: 184px; width: 100%; min-height: 100dvh; height: auto !important; }
  .pm-garden-auth .pm-garden-login-host { margin: 0 auto 28px !important; width: calc(100vw - 40px) !important; }
  html[data-pm-app="ai"] .pm-garden-auth .pm-garden-login-host { margin: 0 auto 28px !important; width: 100% !important; }
  .pm-garden-auth-canvas { padding-inline: 20px !important; }
  .pm-garden-auth-viewport { overflow-y: auto; height: 100dvh; align-items: flex-start; }
  .pm-garden-auth #pm-garden-welcome { background-image: linear-gradient(90deg,#edf3e9f0,#edf3e9c0 60%,#edf3e930),url('/world/sky-garden.webp'); }
}
@media(max-height:540px) and (max-width:800px) { .pm-garden-auth .pm-garden-login-layout { padding-top: 24px; } }


@media(max-width:800px) {
  html[data-pm-app="drive"] .pm-garden-login-host { height: auto !important; min-height: 0 !important; }
  html[data-pm-app="drive"] .pm-garden-login-host > .MuiGrid-root { min-height: 0 !important; height: auto !important; justify-content: flex-start !important; }
}

