.my-atlas-dialog {
  width: min(940px, calc(100vw - 30px)); max-height: min(860px, calc(100vh - 30px));
  padding: 0; border: 0; background: var(--paper); color: var(--ink);
  box-shadow: 0 28px 80px rgba(13,29,20,.33);
}
.my-atlas-dialog::backdrop { background: rgba(17,28,20,.64); backdrop-filter: blur(5px); }
.my-atlas-dialog > header { padding: 25px 30px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); background: var(--white); }
.my-atlas-dialog > header .eyebrow { margin: 0 0 4px; }
.my-atlas-dialog > header h2 { margin: 0; font-size: 38px; line-height: 1; }
.my-atlas-dialog > header p:last-child { margin: 6px 0 0; color: var(--muted); font: 13px "Newsreader"; }
.my-atlas-body { max-height: calc(100vh - 175px); padding: 26px 30px 34px; overflow: auto; }
.my-atlas-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 30px; border: 1px solid var(--line); background: var(--white); }
.my-atlas-summary div { padding: 17px 19px; border-right: 1px solid var(--line); }
.my-atlas-summary div:last-child { border: 0; }
.my-atlas-summary strong, .my-atlas-summary span { display: block; }
.my-atlas-summary strong { font: 600 29px "Newsreader"; }
.my-atlas-summary span { margin-top: 2px; color: var(--muted); font: 8px "DM Mono"; text-transform: uppercase; }
.connections-section { position: relative; margin: 8px 0 34px; padding: 25px; overflow: hidden; border: 1px solid #b8c9bc; background: linear-gradient(135deg,#f7f7ed 0%,#eef4ec 58%,#e3eee6 100%); }
.connections-section::after { content: ""; position: absolute; right: -90px; top: -130px; width: 270px; height: 270px; border: 1px solid rgba(45,100,70,.16); border-radius: 50%; box-shadow: 0 0 0 38px rgba(45,100,70,.035),0 0 0 76px rgba(45,100,70,.025); pointer-events: none; }
.connections-heading { position: relative; z-index: 1; display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.connections-heading .eyebrow { margin: 0 0 4px; color: #446851; }
.connections-heading h3 { margin: 0; font-size: 31px; }
.connections-heading p:last-child { max-width: 640px; margin: 6px 0 0; color: var(--muted); font: 13px/1.45 "Newsreader"; }
.dream-status { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid rgba(45,100,70,.2); background: rgba(255,255,255,.6); color: #315b42; font: 7px "DM Mono"; text-transform: uppercase; letter-spacing: .08em; }
.dream-status i { width: 6px; height: 6px; border-radius: 50%; background: #4c8a62; box-shadow: 0 0 0 4px rgba(76,138,98,.12); }
.connection-cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.connection-card { display: flex; min-width: 0; min-height: 350px; flex-direction: column; padding: 17px; border: 1px solid #c6d1c6; background: rgba(255,255,255,.9); box-shadow: 0 8px 24px rgba(36,75,56,.06); }
.connection-card.connection-echo { border-top: 3px solid #5c7d66; }
.connection-card.connection-connection { border-top: 3px solid #b5753c; }
.connection-card.connection-question { border-top: 3px solid #315f74; }
.connection-topline { display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 7px; }
.connection-icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #edf3e9; color: #315b42; font: 600 15px "Newsreader"; }
.connection-topline p,.connection-topline em { margin: 0; font: 7px "DM Mono"; letter-spacing: .07em; text-transform: uppercase; }
.connection-topline p { color: #315b42; font-weight: 700; }
.connection-topline em { color: #738078; font-style: normal; text-align: right; }
.connection-card h4 { margin: 16px 0 8px; font: 600 23px/1.02 "Newsreader"; }
.connection-statement { margin: 0 0 15px; color: #3f4d44; font: 12px/1.55 "Manrope"; }
.connection-card details { margin-top: auto; border-top: 1px solid #d9dfd8; border-bottom: 1px solid #d9dfd8; }
.connection-card summary { padding: 11px 0; color: #315b42; font: 700 8px "DM Mono"; text-transform: uppercase; cursor: pointer; }
.connection-proof { padding: 0 0 13px; }
.connection-proof strong { display: block; margin: 9px 0 3px; font: 700 7px "DM Mono"; color: #68786d; text-transform: uppercase; }
.connection-proof p,.connection-proof li,.connection-proof small { color: #526057; font-size: 9px; line-height: 1.45; }
.connection-proof p { margin: 0; }
.connection-proof ul { margin: 0; padding-left: 16px; }
.connection-proof small { display: block; margin-top: 10px; padding: 8px; background: #f3f5ef; }
.connection-next { display: flex; min-height: 36px; gap: 6px; flex-wrap: wrap; align-content: center; padding: 9px 0; }
.connection-next span { color: #526057; font: 7px "DM Mono"; }
.connection-card footer { display: flex; gap: 5px; flex-wrap: wrap; }
.connection-card footer button { min-height: 36px; padding: 8px 9px; border: 1px solid #bfc9bf; background: transparent; color: #315b42; font: 700 7px "Manrope"; cursor: pointer; }
.connection-card footer .connection-primary { background: #315b42; border-color: #315b42; color: white; }
.connections-empty,.connections-loading { grid-column: 1/-1; display: flex; align-items: center; gap: 17px; min-height: 130px; padding: 22px; border: 1px dashed #a9b9ac; background: rgba(255,255,255,.55); }
.connections-empty > span { display: grid; flex: none; width: 47px; height: 47px; place-items: center; border-radius: 50%; background: #dfeadf; color: #315b42; font-size: 20px; }
.connections-empty h4 { margin: 0 0 5px; font: 600 20px "Newsreader"; }
.connections-empty p,.connections-loading p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.connections-loading span { width: 18px; height: 18px; border: 2px solid #bdc9be; border-top-color: #315b42; border-radius: 50%; animation: spin .8s linear infinite; }
.my-atlas-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 26px 0 10px; }
.my-atlas-section-heading .text-button { min-height: 44px; }
.my-atlas-section-heading .eyebrow { margin: 0 0 3px; }
.my-atlas-section-heading h3 { margin: 0; font-size: 25px; }
.plan-list, .saved-place-list { display: grid; gap: 9px; }
.plan-card, .saved-place-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 16px 18px; border: 1px solid var(--line); background: var(--white); }
.plan-card time, .plan-card small, .saved-place-card small { display: block; color: var(--muted); font-size: 8px; }
.plan-card time { margin-bottom: 5px; font: 8px "DM Mono"; text-transform: uppercase; }
.plan-card h4, .saved-place-card h4 { margin: 0 0 4px; font: 600 19px "Newsreader"; }
.plan-card p, .saved-place-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.plan-card-actions, .saved-place-card-actions { display: flex; gap: 7px; flex-wrap: wrap; justify-content: end; }
.plan-card-actions button, .saved-place-card-actions button { min-height: 38px; padding: 8px 11px; border: 1px solid var(--line); background: transparent; color: var(--forest); font-size: 8px; font-weight: 700; cursor: pointer; }
.plan-card-actions .complete-plan { background: var(--forest); color: white; border-color: var(--forest); }
.plan-card-actions .start-walk, .plan-card-actions .add-walk-note { background: #d7962e; color: #17231b; border-color: #b87918; }
.active-walk-card { border-left: 4px solid #d7962e; background: #fffdf6; box-shadow: 0 7px 24px rgba(55,68,45,.08); }
.walk-live { display: inline-block; margin-left: 8px; padding: 3px 6px; background: #d7962e; color: #17231b; font: 700 7px "DM Mono"; letter-spacing: .06em; }
.plan-level { display: inline-block; margin-top: 7px; padding: 3px 6px; color: white; background: #2d6446; font: 7px "DM Mono"; }
.plan-level.caution { background: #9a6b25; }
.plan-level.avoid { background: #8b3e35; }
.completed .plan-card { border-left: 3px solid #5f8b6d; background: #fbfcf8; }
.completed .plan-card time::before { content: "✓ "; color: #2d6446; font-weight: 700; }
.my-atlas-empty { padding: 24px; border: 1px dashed var(--line); color: var(--muted); text-align: center; font: 13px "Newsreader"; }
.my-atlas-dialog > footer { padding: 11px 30px; border-top: 1px solid var(--line); text-align: right; background: var(--white); }
.my-atlas-dialog > footer .text-button { min-height: 44px; }

@media (max-width: 640px) {
  .my-atlas-dialog { width: 100%; max-width: none; height: 100vh; max-height: none; margin: 0; }
  .my-atlas-dialog > header { padding: 18px; }
  .my-atlas-dialog > header h2 { font-size: 31px; }
  .my-atlas-body { max-height: calc(100vh - 154px); padding: 18px; }
  .my-atlas-summary div { padding: 13px 9px; }
  .my-atlas-summary strong { font-size: 24px; }
  .connections-section { margin-inline: -4px; padding: 18px 14px; }
  .connections-heading { display: block; }
  .dream-status { margin-top: 10px; }
  .connection-cards { grid-template-columns: 1fr; }
  .connection-card { min-height: 0; }
  .connection-card footer { display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .connection-card footer button { min-height: 44px; }
  .plan-card, .saved-place-card { grid-template-columns: 1fr; gap: 12px; }
  .plan-card-actions, .saved-place-card-actions { justify-content: stretch; display: grid; grid-template-columns: 1fr 1fr; }
  .plan-card-actions button, .saved-place-card-actions button { min-height: 44px; }
  .my-atlas-dialog > footer { padding: 10px 18px; }
  .assistant-purpose { padding: 11px 16px; }
  .assistant-starts button { min-height: 62px; }
  .assistant-utility { align-items: flex-start; }
  .assistant-utility span { text-align: right; }
}
