.hp-app{--hp-max:1180px;--page-max:var(--hp-max);background:radial-gradient(90% 50% at 50% 0%, var(--c-surface-2), transparent 70%), var(--c-bg);min-block-size:100dvh;color:var(--c-text);font-family:var(--font-ui)}@media (max-width:559px){.hp-bar-share-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}.hp-main{max-inline-size:var(--hp-max);padding-block:var(--space-4) var(--space-16);padding-inline:var(--gutter);margin-inline:auto}.hp-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:960px){.hp-layout{gap:var(--space-8);grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);align-items:start}}.hp-side{gap:var(--space-4);align-content:start;min-inline-size:0;display:grid}.hp-card{gap:var(--space-4)}.hp-muted{color:var(--c-text-soft)}.hp-hero{gap:var(--space-3);justify-items:center;min-inline-size:0;display:grid}.hp-subtitle{color:var(--c-text-soft);font-family:var(--font-text);font-size:var(--fs-xl);line-height:var(--lh-snug);text-align:center;margin:0}.hp-stage{isolation:isolate;inline-size:100%;max-inline-size:600px;position:relative}@media (max-width:559px){.hp-stage{inline-size:calc(100% + 2 * var(--gutter));max-inline-size:none;margin-inline:calc(-1 * var(--gutter))}.hp-hero .hp-stage:before{inset-inline:0}.hp-stage .sh-toolbar,.hp-stage .sh-list,.hp-stage .sh-caption-wrap{padding-inline:var(--gutter)}}@media (min-width:960px){.hp-stage{max-inline-size:min(600px,67.3267dvh - 127.921px)}}.hp-stage:before{z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--heart-nur) 70%, transparent), color-mix(in srgb, var(--heart-nur) 26%, transparent) 58%, transparent 100%);filter:blur(26px);opacity:calc(var(--hp-glow,0) * .9);content:"";pointer-events:none;border-radius:50%;transition:opacity .9s;position:absolute;inset-block:9% 22%;inset-inline:-4%}.hp-stage[data-glow=on]:before{animation:7s ease-in-out infinite hp-breathe}.hp-stage[data-glow=off]:before{display:none}@keyframes hp-breathe{0%,to{opacity:calc(var(--hp-glow,0) * .9)}50%{opacity:calc(var(--hp-glow,0) * .62)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .hp-stage[data-glow=on]:before{animation:none}}:root[data-motion=reduce] .hp-stage[data-glow=on]:before{animation:none}.hp-message{color:var(--c-heart-accent);font-family:var(--font-display);font-size:clamp(1.6rem,6vw,2.2rem);font-weight:var(--fw-bold);text-align:center;text-wrap:balance;margin:0;line-height:1.5}.hp-glow-toggle{inline-size:100%;max-inline-size:520px;padding-block:var(--space-1);padding-inline:var(--space-4);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface)}.hp-glow-name{gap:var(--space-2);font-weight:var(--fw-semibold);align-items:center;display:inline-flex}.hp-glow-dot{background:var(--heart-nur);block-size:12px;inline-size:12px;box-shadow:0 0 0 3px color-mix(in srgb, var(--heart-nur) 30%, transparent), 0 0 12px 2px color-mix(in srgb, var(--heart-nur) 70%, transparent);border-radius:50%}.hp-only-you{gap:var(--space-1);padding-block:var(--space-0-5);padding-inline:var(--space-2-5);border-radius:var(--radius-full);background:var(--c-surface-2);color:var(--c-text-soft);font-size:var(--fs-xs);flex:none;align-items:center;display:inline-flex}.hp-stats{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.hp-stat{gap:var(--space-1);min-inline-size:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--c-surface-2);align-content:start;display:grid}.hp-stat dt{color:var(--c-text-soft);font-size:var(--fs-xs);line-height:var(--lh-tight)}.hp-stat dd{gap:var(--space-0-5);margin:0;display:grid}.hp-stat strong{font-family:var(--font-text);font-size:var(--fs-2xl);font-weight:var(--fw-bold);overflow-wrap:anywhere;line-height:1.1}.hp-stat .hp-stat-text{font-size:var(--fs-xl)}.hp-stat dd span{color:var(--c-text-soft);font-size:var(--fs-xs);line-height:var(--lh-tight)}.hp-cal{gap:var(--space-3);display:grid}.hp-cal-head{gap:var(--space-2);justify-content:space-between;align-items:center;display:flex}.hp-cal-title{text-align:center;justify-items:center;min-inline-size:0;display:grid}.hp-cal-greg{font-family:var(--font-text);font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.hp-cal-hijri{color:var(--c-text-soft);font-size:var(--fs-sm)}.hp-cal-grid{border-collapse:separate;border-spacing:3px;table-layout:fixed;inline-size:100%}.hp-cal-grid th{padding-block:var(--space-1);color:var(--c-text-soft);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.hp-cal-grid td{border-radius:var(--radius-md);text-align:center;vertical-align:middle;border:1px solid #0000;block-size:46px;padding:0;position:relative}.hp-cal-day{justify-items:center;line-height:1.05;display:grid}.hp-cal-num{font-size:var(--fs-md);font-weight:var(--fw-medium)}.hp-cal-hnum{color:var(--c-text-soft);font-size:.6875rem}.hp-cal-grid td[data-status=active],.hp-cal-swatch[data-status=active]{border-color:color-mix(in srgb, var(--heart-nur) 70%, var(--c-text) 10%);background:color-mix(in srgb, var(--heart-nur) 34%, var(--c-surface));box-shadow:0 0 12px -3px color-mix(in srgb, var(--heart-nur) 80%, transparent)}.hp-cal-grid td[data-status=active] .hp-cal-hnum{color:var(--c-text)}.hp-cal-grid td[data-status=rest],.hp-cal-swatch[data-status=rest]{border:1.5px dashed color-mix(in srgb, var(--heart-nur) 65%, var(--c-text-soft))}.hp-cal-grid td[data-status=frozen],.hp-cal-swatch[data-status=frozen]{border-color:var(--c-border);background:repeating-linear-gradient(-45deg, var(--c-accent-soft) 0 4px, transparent 4px 8px), var(--c-surface)}.hp-cal-grid td[data-today],.hp-cal-swatch[data-today]{outline:2px solid var(--c-heart-accent);outline-offset:-1px}.hp-cal-grid td[data-status=future] .hp-cal-num,.hp-cal-grid td[data-status=idle] .hp-cal-num{color:var(--c-text-soft);font-weight:var(--fw-regular)}.hp-cal-legend{gap:var(--space-1-5) var(--space-4);color:var(--c-text-soft);font-size:var(--fs-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.hp-cal-legend li{gap:var(--space-1-5);align-items:center;display:inline-flex}.hp-cal-swatch{border-radius:var(--radius-xs);border:1px solid #0000;block-size:16px;inline-size:16px;display:inline-block}.hp-share{gap:var(--space-4);display:grid}.hp-share-preview{border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface-2);place-items:center;min-block-size:200px;display:grid;overflow:hidden}.hp-share-preview img{block-size:auto;max-block-size:min(56dvh,520px);inline-size:auto;max-inline-size:min(100%,360px);margin-inline:auto;display:block}.hp-share-options{gap:var(--space-1);border:0;margin:0;padding:0;display:grid}.hp-share-options legend{font-weight:var(--fw-semibold);margin-block-end:var(--space-1);padding:0}.hp-share-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.hp-sheet-extra{gap:var(--space-2);font-family:var(--font-ui);margin-block-start:var(--space-3);display:grid}.hp-sheet-extra p{color:var(--c-text-soft);font-size:var(--fs-md);margin:0}.hp-sheet-actions{gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-1);display:flex}.hp-sheet-actions .ui-btn{flex:auto;text-decoration:none}.hp-private{gap:var(--space-2);color:var(--c-text-soft);font-size:var(--fs-sm);line-height:var(--lh-snug);align-items:flex-start;margin:0;display:flex}.hp-lock{flex:none;margin-block-start:2px}.hp-empty{gap:var(--space-4);justify-items:center;max-inline-size:560px;margin-inline:auto;display:grid}.hp-empty-heart{opacity:.92;inline-size:min(100%,400px)}.hp-empty-heart .sh-toolbar,.hp-empty-heart .sh-hint{display:none}.hp-empty-card{gap:var(--space-3);inline-size:100%;padding:var(--space-6) var(--space-5);border:1px solid var(--c-border);border-radius:var(--radius-xl);background:var(--c-surface);box-shadow:var(--shadow-2);text-align:center;justify-items:center;display:grid}.hp-empty-card>p{color:var(--c-text-soft);font-size:var(--fs-lg);line-height:var(--lh-body);margin:0}.hp-empty-title{color:var(--c-heart-accent);font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-bold);margin:0;line-height:1.4}.hp-empty-card .ui-btn{text-decoration:none}.hp-empty-card .hp-private{text-align:start}.hp-loading{gap:var(--space-4);justify-items:center;display:grid}
