.home-dashboard-top {
  grid-template-areas:
    "today profile"
    "features features";
  align-items: stretch;
}

.home-today-card { grid-area: today; }
.home-feature-grid {
  grid-area: features;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: none;
}

.hige-profile-card {
  grid-area: profile;
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 14px;
  min-width: 0;
  border: 1px solid rgba(70, 57, 47, 0.14);
  border-radius: 22px;
  background:
    radial-gradient(circle at 94% 4%, rgba(104, 75, 118, 0.11), transparent 13rem),
    #fffaf3;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(52, 41, 31, 0.06);
}

.hige-profile-card__header,
.hige-profile-card__identity,
.hige-profile-card__headline,
.hige-profile-card__actions {
  display: flex;
  align-items: center;
}

.hige-profile-card__header {
  grid-column: 1 / -1;
  justify-content: space-between;
  gap: 12px;
}

.hige-profile-card__identity {
  gap: 10px;
  min-width: 0;
}

.hige-profile-card__mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  aspect-ratio: 1;
  border: 1px solid rgba(99, 73, 117, 0.18);
  border-radius: 14px;
  background: #f5edf6;
  color: #684b76;
}

.hige-profile-card__mark .higemegane-moustache-mark { width: 25px; }
.hige-profile-card__eyebrow,
.hige-profile-card h2,
.hige-profile-card__favorite,
.hige-profile-card__progress p { margin: 0; }
.hige-profile-card__eyebrow { color: #684b76; font-size: .62rem; font-weight: 900; letter-spacing: .11em; }
.hige-profile-card h2 { margin-top: 2px; font-size: 1.04rem; line-height: 1.3; }

.hige-profile-card__sync {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px solid rgba(104, 75, 118, 0.18);
  border-radius: 999px;
  background: #faf5fb;
  color: #684b76;
  padding: 5px 9px;
  font-size: .61rem;
  font-weight: 800;
  white-space: nowrap;
}

.hige-profile-card__art {
  grid-column: 1;
  grid-row: 2 / 4;
  display: grid;
  place-items: center;
  align-self: stretch;
  min-height: 122px;
  overflow: hidden;
  border: 1px solid rgba(75, 61, 49, .14);
  border-radius: 15px;
  background: rgba(255, 255, 255, .72);
  padding: 8px;
}

.hige-profile-card__art .hige-card-art {
  width: 100%;
  max-width: 78px;
}

.hige-profile-card__art.is-empty {
  border-style: dashed;
  color: #8b8179;
}

.hige-profile-card__empty { font-family: ui-serif, serif; font-size: 1.5rem; }

.hige-profile-card__details {
  display: grid;
  align-content: center;
  gap: 11px;
  min-width: 0;
}

.hige-profile-card__headline {
  flex-wrap: wrap;
  gap: 8px;
}

.hige-profile-card__level {
  font-size: 1.28rem;
  line-height: 1.1;
}

.hige-profile-card__title {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  max-width: 100%;
  border-radius: 999px;
  background: #f4edf5;
  color: #60436d;
  padding: 5px 9px;
  font-size: .66rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.hige-profile-card__favorite {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.hige-profile-card__favorite span { color: var(--color-muted); font-size: .64rem; font-weight: 800; }
.hige-profile-card__favorite strong { font-size: .76rem; line-height: 1.4; overflow-wrap: anywhere; }

.hige-profile-card__progress { min-width: 0; }
.hige-profile-card__progress .growth-meter { margin-bottom: 5px; }
.hige-profile-card__progress p { color: var(--color-muted); font-size: .65rem; line-height: 1.45; }

.hige-profile-card__actions {
  justify-content: flex-end;
}
.hige-profile-card__actions .button { min-height: 40px; }

.hige-place-dialog { width:min(820px,calc(100% - 24px)); max-height:min(86dvh,850px); margin:auto; overflow:hidden; border:1px solid rgba(56,45,38,.2); border-radius:22px; background:#fbf7f1; color:var(--color-text); padding:0; box-shadow:0 26px 80px rgba(35,27,22,.28); }
.hige-place-dialog:not([open]):not(.is-open) { display:none; }
.hige-place-dialog::backdrop { background:rgba(31,25,21,.58); backdrop-filter:blur(5px); }
.hige-place-dialog.is-open { position:fixed; inset:50% auto auto 50%; z-index:1000; display:block; transform:translate(-50%,-50%); }
.hige-place-dialog__inner { display:grid; max-height:inherit; grid-template-rows:auto minmax(0,1fr); }
.hige-place-dialog__header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-bottom:1px solid var(--color-border); background:rgba(255,255,255,.72); padding:15px 17px; }
.hige-place-dialog__header p,
.hige-place-dialog__header h3 { margin:0; }
.hige-place-dialog__eyebrow { color:#684b76; font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.hige-place-dialog__close { display:grid; place-items:center; width:38px; aspect-ratio:1; border:1px solid var(--color-border); border-radius:50%; background:#fff; color:var(--color-text); font-size:1.2rem; }
.hige-place-dialog__body { overflow:auto; padding:16px; }
.hige-place-dialog__summary { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.hige-place-dialog__summary p { margin:0; color:var(--color-muted); font-size:.75rem; line-height:1.55; }
.hige-place-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.hige-place-picker-item { display:grid; grid-template-columns:62px minmax(0,1fr); gap:10px; align-items:center; border:1px solid rgba(75,61,49,.14); border-radius:15px; background:#fff; padding:10px; }
.hige-place-picker-item.is-selected { border-color:#684b76; background:#faf5fb; }
.hige-place-picker-item .button { grid-column:1 / -1; }
.hige-place-picker-item__copy { display:grid; min-width:0; gap:3px; }
.hige-place-picker-item__copy strong { font-size:.76rem; line-height:1.4; }
.hige-place-picker-item__copy span { color:var(--color-muted); font-size:.66rem; }
.hige-place-card-art--compact { width:58px; }
.hige-place-picker__empty { grid-column:1 / -1; margin:0; border:1px dashed var(--color-border); border-radius:14px; color:var(--color-muted); padding:18px; text-align:center; font-size:.76rem; line-height:1.6; }

@media (max-width: 900px) {
  .home-dashboard-top {
    grid-template-columns: 1fr;
    grid-template-areas:
      "today"
      "profile"
      "features";
  }

  .home-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .hige-profile-card {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 11px;
    border-radius: 18px;
    padding: 13px;
  }
  .hige-profile-card__header { align-items: flex-start; }
  .hige-profile-card h2 { font-size: .96rem; }
  .hige-profile-card__sync { min-height: 26px; padding: 4px 8px; }
  .hige-profile-card__art { min-height: 104px; padding: 6px; }
  .hige-profile-card__art .hige-card-art { max-width: 60px; }
  .hige-profile-card__level { font-size: 1.14rem; }
  .hige-profile-card__actions { grid-column: 1 / -1; }
  .hige-profile-card__actions .button { width: 100%; }
  .hige-place-dialog__summary { align-items:stretch; flex-direction:column; }
  .hige-place-picker { grid-template-columns:1fr; }
}
