.loading-state[data-v-9e7ffdf5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:14px;animation:fadeIn var(--duration-fast) var(--ease-out)}.loading-spinner[data-v-9e7ffdf5]{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-state span[data-v-9e7ffdf5]{font-size:var(--font-size-base);color:var(--color-text-tertiary)}.empty-state[data-v-6f3032bd]{padding:44px 20px;text-align:center;animation:fadeInScale .5s var(--ease-spring)}.empty-badge[data-v-6f3032bd]{width:72px;height:72px;margin:0 auto 18px;border:1.5px dashed var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:border-color var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.empty-state:hover .empty-badge[data-v-6f3032bd]{border-color:var(--color-primary);transform:translateY(-2px)}.empty-icon[data-v-6f3032bd]{color:var(--color-text-tertiary);opacity:.55}.empty-state h3[data-v-6f3032bd]{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 6px}.empty-state p[data-v-6f3032bd]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.stat-card[data-v-2ac0e285]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-card);transition:all .3s var(--ease-out);cursor:default;position:relative;overflow:hidden}.stat-card[data-v-2ac0e285]:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);border-color:var(--color-primary)}.stat-card[data-v-2ac0e285]:active{transform:translateY(-1px) scale(.98);transition:all .1s var(--ease-out)}.stat-card[data-v-2ac0e285]:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:linear-gradient(180deg,var(--color-accent),var(--color-primary));transition:height .35s var(--ease-spring)}.stat-card[data-v-2ac0e285]:hover:before{height:100%}.stat-top[data-v-2ac0e285]{display:flex;align-items:flex-start;justify-content:space-between;flex:1}.stat-index[data-v-2ac0e285]{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-disabled);letter-spacing:.08em}.stat-icon[data-v-2ac0e285]{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .35s var(--ease-spring);animation:fadeInScale .5s var(--ease-spring) both}.stat-card:hover .stat-icon[data-v-2ac0e285]{transform:scale(1.12) rotate(-4deg)}.stat-info[data-v-2ac0e285]{min-width:0}.stat-value[data-v-2ac0e285]{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.1;letter-spacing:var(--letter-spacing-tight);animation:countUp .5s var(--ease-out) both}.stat-label[data-v-2ac0e285]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:3px;letter-spacing:var(--letter-spacing-wide)}.stat-corner[data-v-2ac0e285]{position:absolute;right:12px;bottom:12px;width:26px;height:26px;opacity:.35;background-image:radial-gradient(circle,var(--color-border) 1.2px,transparent 1.4px);background-size:7px 7px;pointer-events:none}.dashboard[data-v-277354ef]{display:grid;gap:16px}.archive-cover[data-v-277354ef]{position:relative;background:linear-gradient(135deg,var(--color-surface),var(--color-bg-secondary));border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.cover-line[data-v-277354ef]{height:3px;background:linear-gradient(90deg,var(--color-bg-secondary),var(--color-primary),var(--color-bg-secondary));background-size:200% 100%;animation:coverSheen-277354ef 6s ease-in-out infinite}@keyframes coverSheen-277354ef{0%,to{background-position:0% 0%}50%{background-position:100% 0%}}.cover-body[data-v-277354ef]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px}.cover-kicker[data-v-277354ef]{font-family:var(--font-family-mono);font-size:11px;letter-spacing:.22em;color:var(--color-primary);text-transform:uppercase}.cover-title[data-v-277354ef]{margin:6px 0 4px;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.cover-sub[data-v-277354ef]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.cover-stamp[data-v-277354ef]{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:74px;height:74px;border:2px dashed var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);transform:rotate(2deg)}.stamp-year[data-v-277354ef]{font-family:var(--font-family-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1}.stamp-label[data-v-277354ef]{font-size:10px;letter-spacing:.12em;margin-top:4px;opacity:.85}.month-bars[data-v-277354ef]{display:flex;flex-direction:column;gap:10px;padding:16px}.month-row[data-v-277354ef]{display:flex;align-items:center;gap:12px}.month-label[data-v-277354ef]{flex:0 0 40px;font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.month-track[data-v-277354ef]{flex:1;height:14px;border-radius:4px;background:var(--color-bg-secondary);overflow:hidden;display:flex}.month-seg[data-v-277354ef]{height:100%;min-width:2px;transition:filter var(--duration-fast) var(--ease-out)}.month-seg[data-v-277354ef]:hover{filter:brightness(.94)}.month-total[data-v-277354ef]{flex:0 0 26px;text-align:right;font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.stats-grid[data-v-277354ef]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media screen and (min-width: 768px){.stats-grid[data-v-277354ef]{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width: 1024px){.stats-grid[data-v-277354ef]{grid-template-columns:repeat(6,1fr)}}.panel-card[data-v-277354ef]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:all var(--duration-normal) var(--ease-out)}.panel-card[data-v-277354ef]:hover{box-shadow:var(--shadow-card-hover)}.panel-head[data-v-277354ef]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--color-border-light)}.panel-title[data-v-277354ef]{display:flex;align-items:center;gap:9px;min-width:0}.panel-title h3[data-v-277354ef]{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.panel-index[data-v-277354ef]{font-family:var(--font-family-mono);font-size:15px;color:var(--color-primary);opacity:.75}.panel-note[data-v-277354ef]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding-left:9px;border-left:1px solid var(--color-border)}.panel-more[data-v-277354ef]{padding:5px 12px;border:none;background:var(--color-primary-pale);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);flex-shrink:0}.panel-more[data-v-277354ef]:hover{background:var(--color-primary-soft);transform:translateY(-1px)}.panel-more[data-v-277354ef]:active{transform:scale(.94)}.insight-grid[data-v-277354ef]{display:grid;grid-template-columns:1fr;gap:16px}@media screen and (min-width: 768px){.insight-grid[data-v-277354ef]{grid-template-columns:repeat(2,1fr)}}.gender-row[data-v-277354ef]{display:flex;align-items:center;gap:18px;padding:16px}.gender-donut[data-v-277354ef]{position:relative;width:96px;height:96px;flex-shrink:0}.gender-donut svg[data-v-277354ef]{width:100%;height:100%;display:block;transform:rotate(0)}.donut-center[data-v-277354ef]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-total[data-v-277354ef]{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.donut-total-label[data-v-277354ef]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:3px}.gender-legend[data-v-277354ef]{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}@media screen and (min-width: 768px){.gender-legend[data-v-277354ef]{max-width:180px}}.legend-row[data-v-277354ef]{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.legend-swatch[data-v-277354ef]{width:10px;height:10px;border-radius:3px}.legend-name[data-v-277354ef]{white-space:nowrap}.legend-num[data-v-277354ef]{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.legend-pct[data-v-277354ef]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);min-width:30px;text-align:right}.trend-legend[data-v-277354ef]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.legend-item[data-v-277354ef]{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.legend-dot[data-v-277354ef]{width:8px;height:8px;border-radius:50%;display:inline-block}.trend-body[data-v-277354ef]{padding:8px 12px 6px}.trend-chart[data-v-277354ef]{width:100%;height:200px;display:block}.trend-gridline[data-v-277354ef]{stroke:var(--color-border);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.trend-ylabel[data-v-277354ef]{fill:var(--color-text-tertiary);font-size:10px}.trend-xlabel[data-v-277354ef]{fill:var(--color-text-tertiary);font-size:11px}.trend-line[data-v-277354ef]{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.section-grid[data-v-277354ef]{display:grid;gap:16px}@media screen and (min-width: 768px){.section-grid[data-v-277354ef]{grid-template-columns:repeat(2,1fr)}}.list-content[data-v-277354ef]{padding:8px}.list-item[data-v-277354ef]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out);cursor:pointer}.list-item[data-v-277354ef]:hover{background:var(--color-bg-secondary);transform:translate(2px)}.list-item[data-v-277354ef]:active{transform:scale(.98);transition:transform var(--duration-fast) var(--ease-out)}.item-icon[data-v-277354ef]{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-icon.essays[data-v-277354ef]{background:var(--color-tab-essay-pale);color:var(--color-tab-essay)}.item-icon.blessings[data-v-277354ef]{background:var(--color-tab-blessing-pale);color:var(--color-tab-blessing)}.item-icon.anniversaries[data-v-277354ef]{background:var(--color-tab-anniversary-pale);color:var(--color-tab-anniversary)}.item-info[data-v-277354ef]{flex:1;min-width:0}.item-title[data-v-277354ef]{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta[data-v-277354ef]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:3px}.gallery-content[data-v-277354ef]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px}.gallery-item[data-v-277354ef]{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;position:relative;cursor:pointer;transition:transform var(--duration-normal) var(--ease-out);background:var(--color-bg-secondary)}.gallery-item[data-v-277354ef]:hover{transform:scale(1.03)}.gallery-item[data-v-277354ef]:active{transform:scale(.97)}.gallery-img[data-v-277354ef]{width:100%;height:100%;object-fit:cover}.gallery-content[data-v-277354ef] .empty-state{grid-column:1 / -1}@media screen and (max-width: 480px){.stats-grid[data-v-277354ef]{grid-template-columns:repeat(2,1fr)}.section-grid[data-v-277354ef]{grid-template-columns:1fr}.cover-body[data-v-277354ef]{padding:16px}.cover-stamp[data-v-277354ef]{width:62px;height:62px}.list-item[data-v-277354ef]{padding:8px 10px}.item-icon[data-v-277354ef]{width:32px;height:32px}}
