@font-face {
  font-family: "Tidal Cormorant"; font-style: normal; font-weight: 300; font-display: swap;
  src: url("../../assets/fonts/cormorant-garamond-light.ttf") format("truetype");
}
.te-home { --te-home-display: "Tidal Cormorant", var(--te-font-display); position: relative; max-width: 760px; margin: 0 auto; padding: 4px 0 0; }
.te-home-hero { text-align: center; position: relative; padding-top: 14px; }
.te-home-hero__ornament { display: block; width: min(210px, 62%); height: auto; aspect-ratio: 397 / 79; object-fit: contain; margin: 0 auto 15px; opacity: .54; pointer-events: none; }
.te-home-eyebrow { color: var(--te-champagne); font-size: .55rem; letter-spacing: .34em; margin: 0 0 6px; }
.te-home-title { font: 300 clamp(2.7rem, 10vw, 4.4rem)/1.08 var(--te-home-display); letter-spacing: -.025em; margin: 0; color: var(--te-ink); }
.te-home-subtitle { margin: 12px 0 0; font: .7rem/1.4 var(--te-font-display); color: var(--te-muted); letter-spacing: .28em; }
.te-home-together { position: relative; text-align: center; padding: 38px 0 16px; }
.te-home-together::before, .te-home-together::after { content: ""; position: absolute; top: 48%; width: clamp(28px, 9vw, 88px); height: 1px; background: linear-gradient(90deg, transparent, var(--te-line)); }
.te-home-together::before { left: 5%; }
.te-home-together::after { right: 5%; transform: rotate(180deg); }
.te-home-together__intro { color: var(--te-muted); font: .77rem/1.4 var(--te-font-display); letter-spacing: .1em; margin: 0; }
.te-home-together__line { display: flex; align-items: baseline; justify-content: center; gap: 7px; min-height: 126px; }
.te-home-together__count { font: 300 clamp(6.6rem, 24vw, 9rem)/1 var(--te-home-display); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.055em; color: var(--te-accent-strong); }
.te-home-together__unit { font: .69rem/1.2 var(--te-home-display); letter-spacing: .17em; color: var(--te-muted); }
.te-home-together__ordinal { color: var(--te-muted); font-size: .73rem; letter-spacing: .02em; margin: 4px 0 0; }
.te-home-together__since { color: var(--te-faint); font: .68rem/1.4 var(--te-font-display); letter-spacing: .1em; margin: 8px 0 0; }
.te-home-clock { display: block; color: var(--te-faint); font-size: .61rem; font-variant-numeric: tabular-nums; letter-spacing: .07em; margin-top: 8px; }
.te-home-opening { max-width: 31rem; margin: 10px auto 30px; padding: 2px 16px; text-align: center; }
.te-home-opening__mark { display: block; width: 12px; height: 12px; margin: 0 auto 17px; color: var(--te-champagne); opacity: .85; }
.te-home-opening__body { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--te-ink); font: .97rem/1.85 var(--te-font-display); margin: 0; }
.te-home-opening__source { font-size: .61rem; letter-spacing: .08em; color: var(--te-faint); margin: 9px 0 0; }
.te-home-opening:not([data-state="available"]) .te-home-opening__body { color: var(--te-faint); font-size: .8rem; }
.te-home-opening:not([data-state="available"]) .te-home-opening__source { display: none; }
.te-home-small-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.te-home-small-card {
  min-height: 105px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start;
  padding: 15px 17px; border: 1px solid var(--te-line-bright); border-radius: 19px;
  background: var(--te-glass-soft); color: var(--te-ink); text-align: left; cursor: pointer;
  backdrop-filter: blur(var(--te-glass-blur)); -webkit-backdrop-filter: blur(var(--te-glass-blur)); box-shadow: 0 5px 20px rgb(58 87 108 / 4%);
}
.te-home-small-card__label { display: inline-flex; align-items: center; gap: 7px; color: var(--te-muted); font-size: .66rem; margin-bottom: 8px; }
.te-home-small-card__label svg { width: 13px; height: 13px; color: var(--te-champagne); }
.te-home-small-card__value { color: var(--te-ink); font-size: .88rem; }
.te-home-small-card__note { display: block; color: var(--te-faint); font-size: .63rem; line-height: 1.5; margin-top: 3px; }
.te-home-update-state { display: block; min-height: var(--te-touch); margin: 4px auto 0; padding: 8px 12px; background: transparent; border: none; color: var(--te-muted); font-size: .68rem; cursor: pointer; }
.te-home-rooms { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.te-home-room {
  position: relative; display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 100px;
  text-align: left; padding: 19px 16px; border: 1px solid var(--te-line-bright); border-radius: 21px;
  color: var(--te-ink); background: var(--te-glass); box-shadow: var(--te-shadow); cursor: pointer;
  backdrop-filter: blur(var(--te-glass-blur)); -webkit-backdrop-filter: blur(var(--te-glass-blur));
  transition: border-color var(--te-duration), box-shadow var(--te-duration);
}
.te-home-room--chat { grid-column: 1 / -1; min-height: 86px; background: linear-gradient(120deg, var(--te-wash-blue), transparent 66%), var(--te-glass); }
.te-home-room__symbol { flex: 0 0 auto; width: 30px; color: var(--te-accent); }
.te-home-room__symbol svg { display: block; width: 26px; height: 26px; stroke-width: 1.1; }
.te-home-room__text { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.te-home-room__text strong { font: 400 1.01rem/1.2 var(--te-font-display); letter-spacing: .04em; }
.te-home-room__text > span { color: var(--te-muted); font-size: .68rem; line-height: 1.55; }
.te-home-room__arrow { margin-left: auto; color: var(--te-champagne); font-size: .9rem; }
.te-home-room:not(.te-home-room--chat) { flex-wrap: wrap; gap: 12px 8px; }
.te-home-room:not(.te-home-room--chat) .te-home-room__symbol { width: 100%; }
.te-home-room:not(.te-home-room--chat) .te-home-room__arrow { position: absolute; top: 18px; right: 16px; }
.te-home-room[data-running="true"] .te-home-room__symbol::after { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--te-success); margin: -26px 0 0 24px; }
.te-home-room:active, .te-home-small-card:active { border-color: var(--te-line); box-shadow: none; }
.te-home-footer { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 19px 0 0; }
.te-home-footer__link { min-height: var(--te-touch); background: transparent; border: none; padding: 8px; color: var(--te-muted); font-size: .68rem; cursor: pointer; }
.te-home-footer__dot { color: var(--te-champagne); }
.te-home-detail-note { font-size: .84rem; line-height: 1.8; color: var(--te-muted); }
.te-home-integration { border-bottom: 1px solid var(--te-line); padding: 6px 0 18px; margin-bottom: 15px; }
.te-home-integration h3 { font: 400 1rem/1.5 var(--te-font-display); margin: 0 0 7px; }
.te-home-integration > span, .te-home-integration > small { color: var(--te-muted); font-size: .72rem; }
:root[data-te-theme="dark"] .te-home-hero__ornament { filter: brightness(2.2) saturate(.55); opacity: .6; }
@media (prefers-color-scheme: dark) { :root:not([data-te-theme="light"]):not([data-te-theme="dark"]) .te-home-hero__ornament { filter: brightness(2.2) saturate(.55); opacity: .6; } }
@media (min-width: 760px) { .te-home { padding-top: 12px; max-width: 620px; } .te-home-together { padding-top: 44px; } .te-home-small-card { padding: 18px 23px; } .te-home-room { padding: 23px; } }
@media (prefers-reduced-motion: reduce) { .te-home * { transition: none !important; } }
:root[data-te-motion="reduced"] .te-home * { transition: none !important; }
.te-home-state { position: relative; isolation: isolate; border: 1px solid var(--te-line); border-radius: 29px; padding: 23px 23px 13px; margin: 22px 0; background: radial-gradient(ellipse at 0% 0%,#dbc4b53b,transparent 65%),radial-gradient(ellipse at 100% 100%,#b8cec544,transparent 65%),color-mix(in srgb,var(--te-surface,#fff) 55%,transparent); box-shadow: 0 10px 35px #76625109,inset 0 1px 0 #ffffff99; backdrop-filter: blur(18px); }
.te-home-state-head,.te-home-state-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.te-home-state-head .te-memory-date { font-size: .58rem; }
.te-home-state-body { display: flex; align-items: center; gap: 25px; padding: 24px 0 8px; }
.te-home-state-copy { flex: 1; min-width: 0; }.te-home-state-copy h3 { font: 500 .98rem var(--te-font-body); line-height: 1.8; margin: 0 0 9px; }.te-home-state-copy p { font-size: .72rem; color: var(--te-muted); margin: 0; }
.te-home-state .te-pulse-orbit--small { flex-basis: 86px; width: 86px; height: 86px; }.te-home-state .te-pulse-orbit--small strong { font-size: 2.15rem; }
.te-home-state-graph { padding-top: 12px; min-height: 48px; }.te-home-state-graph svg { display: block; width: 100%; height: auto; max-height: 80px; }.te-home-state-graph small { display: block; color: var(--te-muted); text-align: center; font-size: .65rem; padding: 15px 0; }
.te-home-state-footer { border-top: 1px solid var(--te-line); margin-top: 8px; }.te-home-state-footer small { font-size: .58rem; color: var(--te-muted); }
@media (max-width:370px) { .te-home-state { padding-left: 17px; padding-right: 17px; }.te-home-state-body { gap: 18px; } }
.te-home-inner-title { font:400 1.22rem/1.5 var(--te-font-display); margin:20px 0; letter-spacing:.06em; }
.te-home-inner-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px;padding:0 0 20px; }
.te-home-inner-cell { display:grid;grid-template-columns:1fr auto;gap:8px 5px;font-size:.7rem;color:var(--te-muted); }
.te-home-inner-cell strong { font-weight:400;font-variant-numeric:tabular-nums;font-size:.64rem; }
.te-home-inner-cell[data-salient="true"] { color:var(--te-ink); }
.te-home-inner-track { grid-column:1/-1;height:3px;background:color-mix(in srgb,var(--te-muted) 12%,transparent);overflow:hidden;border-radius:3px; }
.te-home-inner-track i { display:block;height:100%;background:var(--te-accent);opacity:.7;border-radius:3px; }
.te-home-inner-cell:nth-child(3n+2) .te-home-inner-track i { background:#ab817b; }
.te-home-inner-cell:nth-child(3n) .te-home-inner-track i { background:#9a9e84; }
.te-home-rhythm-note { font-size:.68rem;line-height:1.8;color:var(--te-muted);margin:0 0 13px; }
@media(max-width:340px){.te-home-inner-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
