/* DEC-166. Layout consumes the registered theme; the Door logo is never animated. */
.experience-art { display: block; width: 7rem; flex: 0 0 auto; pointer-events: none; }
.experience-art svg { display: block; width: 100%; height: auto; overflow: visible; }
.experience-art .ink { fill: none; stroke: var(--theme-color-ink); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.experience-art .thin { stroke-width: 1; }
.experience-art .ink-fill { fill: var(--theme-color-ink); }
.experience-art .blue { fill: var(--theme-color-art-blue); }
.experience-art .yellow { fill: var(--theme-color-art-yellow); }
.experience-art .sage { fill: var(--theme-color-art-sage); }
.experience-art .paper { fill: var(--theme-color-invitation-paper); }
.member-home { max-width: 68rem; margin: 0 auto; padding: var(--theme-space-5) var(--theme-space-4) var(--theme-space-7); }
.member-home h1, .member-home h2, .member-home h3, .member-home p { margin: 0; }
.home-welcome { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--theme-space-5); padding-block: var(--theme-space-3) var(--theme-space-6); }
.home-welcome h1 { font-family: var(--theme-font-invitation); font-weight: var(--theme-font-weight-regular); font-size: var(--theme-font-size-experience-welcome); line-height: var(--theme-line-height-heading); }
.home-welcome .eyebrow { margin-bottom: var(--theme-space-2); }
.home-welcome > div > p:last-child { margin-top: var(--theme-space-2); color: var(--theme-color-muted); }
.home-quick-links { display: grid; gap: var(--theme-space-2); min-width: 0; }
.home-quick-links .button { gap: var(--theme-space-3); min-height: var(--theme-control-primary-size); text-align: center; }
.home-create { background: var(--theme-color-brand); color: var(--theme-color-on-brand); min-height: var(--theme-control-primary-size); gap: var(--theme-space-4); }
.home-columns { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: var(--theme-space-7); align-items: start; }
.home-columns > *, .home-current > *, .home-idea > *, .home-room-for-plan > * { min-width: 0; }
.home-current { display: grid; gap: var(--theme-space-6); }
.home-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--theme-space-3); margin-bottom: var(--theme-space-3); }
.home-section-heading h2 { font-size: var(--theme-font-size-task-title); }
.home-section-heading a, .home-more { display: inline-flex; align-items: center; min-height: var(--theme-control-min-size); font-size: var(--theme-font-size-supporting); }
.home-action-row, .home-draft { display: flex; align-items: center; justify-content: space-between; gap: var(--theme-space-4); border-block-start: 1px solid var(--theme-color-line); padding: var(--theme-space-4) 0; text-decoration: none; }
.home-action-row > span:first-child, .home-draft > span:first-child { display: grid; gap: var(--theme-space-1); }
.home-action-row strong, .home-draft strong { color: var(--theme-color-brand-deep); font-weight: var(--theme-font-weight-strong); }
.home-action-row small, .home-draft small, .home-action-row span span, .home-draft span span { color: var(--theme-color-muted); font-size: var(--theme-font-size-supporting); }
.home-all-clear { padding-block: var(--theme-space-3); color: var(--theme-color-muted); }
.home-all-clear > span { color: var(--theme-color-confirm); margin-inline-end: var(--theme-space-2); }
.home-room-for-plan { display: flex; align-items: center; gap: var(--theme-space-4); border-block: 1px solid var(--theme-color-line); padding-block: var(--theme-space-5); }
.home-room-for-plan h3 { font-family: var(--theme-font-invitation); font-size: var(--theme-font-size-invitation-title-compact); font-weight: var(--theme-font-weight-regular); }
.home-room-for-plan p { margin-block: var(--theme-space-2); color: var(--theme-color-muted); }
.home-room-for-plan a { display: inline-flex; align-items: center; min-height: var(--theme-control-min-size); }
.home-plans .on-upcoming-summary { margin-top: var(--theme-space-4); }
.home-inspiration { border-inline-start: 1px solid var(--theme-color-line); padding-inline-start: var(--theme-space-6); }
.home-inspiration header h2 { font-family: var(--theme-font-invitation); font-size: var(--theme-font-size-experience-welcome); font-weight: var(--theme-font-weight-regular); }
.home-inspiration header p:last-child { color: var(--theme-color-muted); margin-top: var(--theme-space-2); }
.home-idea { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: var(--theme-space-3); padding-block: var(--theme-space-5); border-block-end: 1px solid var(--theme-color-line); }
.home-idea .experience-art { width: 5rem; }
.home-idea h3 { font-family: var(--theme-font-invitation); font-size: var(--theme-font-size-receipt-title); font-weight: var(--theme-font-weight-regular); overflow-wrap: anywhere; }
.home-idea p { color: var(--theme-color-muted); font-size: var(--theme-font-size-supporting); margin-block: var(--theme-space-2); }
.home-idea .in-idea-source { display: flex; align-items: center; gap: var(--theme-space-2); min-height: var(--theme-control-min-size); font-size: var(--theme-font-size-supporting); }
.home-idea-action { display: flex; align-items: center; justify-content: space-between; gap: var(--theme-space-3); min-height: var(--theme-control-min-size); font-weight: var(--theme-font-weight-strong); }
.member-home-link[aria-current] { text-decoration: underline; text-underline-offset: 0.3em; }
/* The editor is an editable paper invitation, with optional exploration below. */
.create-invitation-page .create-form[data-create-plan-form] { background: var(--theme-color-invitation-paper); border: 1px solid var(--theme-color-line); border-top: 4px solid var(--theme-color-brand); border-radius: var(--theme-radius-surface); box-shadow: var(--theme-shadow-invitation-paper); padding: var(--theme-space-5); }
.editor-illustration { display: flex; align-items: center; gap: var(--theme-space-3); margin-bottom: var(--theme-space-3); }
.editor-illustration .experience-art { width: 5rem; }
.editor-illustration .eyebrow { margin: 0; }
.create-invitation-page .invitation-title-input textarea { font-family: var(--theme-font-invitation); font-size: var(--theme-font-size-invitation-title); line-height: var(--theme-line-height-invitation-title); font-weight: var(--theme-font-weight-regular); resize: vertical; overflow: hidden; min-height: 4rem; }
.create-invitation-page .open-door-studio { margin-top: var(--theme-space-5); box-shadow: none; border: 0; border-block: 1px solid var(--theme-color-line); background: transparent; }
.open-door-studio > summary { min-height: var(--theme-control-primary-size); cursor: pointer; padding-block: var(--theme-space-3); }
.open-door-studio > summary > span { display: block; font-size: var(--theme-font-size-supporting); color: var(--theme-color-muted); }
.open-door-studio .open-door-intro { margin-block: var(--theme-space-4); }
.open-door > summary .experience-art { width: 4rem; }
.living-invitation-remix > summary { cursor: pointer; min-height: var(--theme-control-min-size); display: flex; align-items: center; }
.source-detached-receipt { padding: var(--theme-space-3); border-inline-start: 3px solid var(--theme-color-brand); color: var(--theme-color-ink); font-size: var(--theme-font-size-supporting); }
/* One finite reveal, on the same invitation after server confirmation. */
.on-reveal { display: flex; align-items: center; gap: var(--theme-space-4); margin-block: var(--theme-space-4); padding: var(--theme-space-3) var(--theme-space-4); background: var(--theme-color-confirm-soft); border-block: 1px solid var(--theme-color-line); }
.on-reveal .experience-art { width: 5rem; }
.on-reveal .eyebrow { color: var(--theme-color-confirm); font-size: var(--theme-font-size-experience-on); font-family: var(--theme-font-invitation); letter-spacing: normal; text-transform: none; margin: 0; }
.on-reveal-line { margin: var(--theme-space-1) 0 0; color: var(--theme-color-ink); font-size: var(--theme-font-size-supporting); }
@keyframes experience-paper-settle { from { transform: translateY(0.65rem) rotate(-0.5deg); } to { transform: none; } }
@keyframes experience-check-draw { from { stroke-dashoffset: 38; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: no-preference) {
  .on-upcoming-summary.is-causal-confirmation { animation: experience-paper-settle var(--theme-motion-experience-duration) var(--theme-motion-confirmation-ease); }
  .is-causal-confirmation .on-confirmation-mark path { stroke-dasharray: 38; animation: experience-check-draw var(--theme-motion-experience-duration) ease-out; }
}
/* Override legacy seal motion: the brand and door-shaped seal stay static. */
.is-causal-confirmation .invitation-seal-door { animation: none !important; }
@media (max-width: 50rem) {
  .home-columns { grid-template-columns: minmax(0, 1fr); gap: var(--theme-space-6); }
  .home-inspiration { border-inline-start: 0; padding-inline-start: 0; border-block-start: 1px solid var(--theme-color-line); padding-block-start: var(--theme-space-5); }
  .home-welcome { grid-template-columns: minmax(0, 1fr) auto; gap: var(--theme-space-3); }
  .home-welcome .experience-art { width: 5rem; }
  .home-quick-links { grid-column: 1 / -1; }
}
@media (max-width: 25rem) {
  .member-home { padding-inline: var(--theme-space-3); }
  .home-room-for-plan { align-items: start; }
  .home-room-for-plan .experience-art { width: 4rem; }
  .create-invitation-page .create-form[data-create-plan-form] { padding: var(--theme-space-3); }
  .home-welcome .experience-art { width: 4rem; }
  .home-idea { grid-template-columns: 4rem minmax(0, 1fr); }
  .home-idea .experience-art { width: 4rem; }
}
html[data-workspace-layout="mobile"] .home-columns { grid-template-columns: minmax(0, 1fr); }
html[data-workspace-layout="mobile"] .home-inspiration { border-inline-start: 0; padding-inline-start: 0; }
@media (prefers-reduced-motion: reduce) {
  .experience-art *, .on-reveal, .is-causal-confirmation, .is-causal-confirmation * { animation: none !important; transition: none !important; transform: none !important; }
}

.create-invitation-page .create-section-intro { padding-block: var(--theme-space-3); }
.create-invitation-page .create-section-intro h2 { font-family: var(--theme-font-invitation); font-weight: var(--theme-font-weight-regular); }
.create-form[data-create-plan-form] .activity-chooser { border: 0; border-radius: 0; padding-inline: 0; }
.create-form[data-create-plan-form] .activity-chooser > legend { font-size: var(--theme-font-size-supporting); color: var(--theme-color-muted); }
.create-form[data-create-plan-form] .invitation-title-input { padding: 0; border: 0; }
.create-form[data-create-plan-form] .invitation-title-input textarea { border-width: 0 0 1px; border-radius: 0; background: transparent; padding-inline: 0; }
.create-form[data-create-plan-form] .invitation-title-input textarea:focus { outline: 2px solid var(--theme-color-focus); outline-offset: 3px; }
@media (max-width: 50rem) {
  .home-welcome { display: flex; flex-wrap: wrap; }
  .home-welcome > div { flex: 1 1 15rem; min-width: 0; }
  .home-welcome > .experience-art { margin-inline-start: auto; }
  .home-welcome > .home-quick-links { flex: 1 1 100%; }
  .create-invitation-page .create-step-tabs { display: flex; flex-wrap: wrap; }
  .create-invitation-page .create-step-tabs > * { flex: 1 1 auto; overflow-wrap: normal; word-break: normal; }
}

html[data-workspace-layout="mobile"] .member-home { max-width: 41rem; }
html[data-workspace-layout="mobile"] .home-welcome { grid-template-columns: minmax(0, 1fr) auto; }
html[data-workspace-layout="mobile"] .home-quick-links { grid-column: 1 / -1; }

/* A durable in-page receipt keeps the response findable and leaves the page usable. */
.compact-in-workspace .response-transition-receipt {
  position: relative; inset: auto; width: auto; max-width: none;
  margin: var(--theme-space-4) var(--theme-space-3);
  box-shadow: none; border-radius: var(--theme-radius-surface);
  border: 1px solid var(--theme-color-line); border-top: 3px solid var(--theme-color-brand);
  background: var(--theme-color-invitation-paper); z-index: auto;
}
.response-transition-invite { font-family: var(--theme-font-invitation); font-size: var(--theme-font-size-receipt-title); }
@media (max-width: 30rem) {
  .compact-in-workspace .response-transition-receipt { grid-template-columns: auto minmax(0, 1fr); }
  .compact-in-workspace .response-transition-actions { grid-column: 1 / -1; }
}
.response-transition-invite { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }

[data-connected-invitation] { --theme-motion-experience-duration: calc(var(--theme-motion-on-ms) * 1ms); }
