/* The Greenhouse — shared design system (used by every room) */
:root{
  --paper:#F4ECDD;
  --paper-2:#FBF5EA;
  --ink:#211F1D;
  --muted:#7A7064;
  --muted-2:#9A9081;
  --gold:#CC8A2A;
  --gold-soft:#E6C58A;
  --line:rgba(33,31,29,.12);
  --line-2:rgba(33,31,29,.07);
  --shadow:0 18px 40px -22px rgba(33,31,29,.45);
  --shadow-sm:0 8px 22px -16px rgba(33,31,29,.5);
  --serif:"Cormorant Garamond",ui-serif,Georgia,"Times New Roman",serif;
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --wed:#C2773A; --com:#5E8B86; --chu:#8A6BA8; --per:#B0843E;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  background:radial-gradient(120% 80% at 50% -10%, #FBF5EA 0%, var(--paper) 55%, #EFE4CF 100%);
  color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;
  min-height:100dvh;display:flex;flex-direction:column;
  padding:max(20px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));
}
#app{flex:1;width:100%;max-width:960px;margin:0 auto;display:flex;flex-direction:column}
a{color:inherit}

/* centred states: loading / sign-in / denied / setup */
.center-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;animation:rise .7s ease both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wordmark{font-family:var(--serif);font-weight:600;letter-spacing:.01em;line-height:1}
.welcome-mark{font-size:clamp(40px,9vw,68px)}
.welcome-sub{font-size:15px;color:var(--muted);max-width:36ch;line-height:1.55}
.ornament{color:var(--gold);font-size:20px;letter-spacing:.5em;padding-left:.5em}
.muted{color:var(--muted)}
.err{color:#9a3b2f;font-size:13.5px;max-width:34ch;margin:0 auto}

.btn{appearance:none;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);
  font-family:var(--sans);font-size:15px;font-weight:600;padding:13px 20px;border-radius:999px;cursor:pointer;
  display:inline-flex;align-items:center;gap:11px;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, var(--shadow)}
.btn:hover{transform:translateY(-1px);border-color:var(--gold-soft)}
.btn:active{transform:translateY(0)}
.btn svg{width:18px;height:18px;display:block}
.link-btn{background:none;border:none;color:var(--muted);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px}
.link-btn:hover{color:var(--ink)}

.spinner{width:26px;height:26px;border:2.5px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.setup-note{max-width:46ch;margin:0 auto;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:22px 24px;text-align:left;font-size:14px;line-height:1.6;box-shadow:var(--shadow)}
.setup-note code{background:rgba(33,31,29,.07);padding:2px 6px;border-radius:6px;font-size:12.5px}

/* shared chips + footer */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;letter-spacing:.02em;
  padding:3px 9px;border-radius:999px;background:rgba(33,31,29,.05);color:var(--muted);white-space:nowrap}
.chip.type-wedding{background:rgba(194,119,58,.13);color:#A85F26}
.chip.type-commercial{background:rgba(94,139,134,.15);color:#3F6661}
.chip.type-church{background:rgba(138,107,168,.15);color:#6E4F8C}
.chip.type-personal{background:rgba(176,132,62,.15);color:#8A6526}
.dot{width:7px;height:7px;border-radius:50%;background:#5BAE73;box-shadow:0 0 0 3px rgba(91,174,115,.18)}
.foot{margin-top:auto;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.foot .who{display:flex;align-items:center;gap:9px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
