body{margin:0;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;background:#f5f7fb;color:#1f2937;overscroll-behavior-y:none}.page.svelte-1uha8ag{height:100svh;padding:8px;box-sizing:border-box;display:flex;flex-direction:column}.page-header.svelte-1uha8ag{flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;margin:-8px -8px 0;padding:8px 4px 10px;min-height:40px;background:transparent}.page-title.svelte-1uha8ag{font-size:18px;font-weight:700;color:#0f172a;text-align:center}.page-title-wrap.svelte-1uha8ag{display:inline-flex;align-items:center;gap:8px}.drawer-toggle-button.svelte-1uha8ag{position:absolute;left:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#0f172a;width:36px;height:36px;font-size:20px;line-height:1;padding:0}.drawer-shell.svelte-1uha8ag{position:fixed;inset:0;z-index:25;pointer-events:none}.drawer-backdrop.svelte-1uha8ag{position:absolute;inset:0;background:#0f172a66;opacity:0;transition:opacity .22s ease}.side-drawer.svelte-1uha8ag{position:absolute;left:0;top:0;bottom:0;width:min(320px,85vw);background:#fff;padding:52px 12px 84px;box-sizing:border-box;display:grid;align-content:start;gap:10px;box-shadow:none;transform:translate(-100%);transition:transform .22s ease}.drawer-shell.is-open.svelte-1uha8ag{pointer-events:auto}.drawer-shell.is-open.svelte-1uha8ag .drawer-backdrop:where(.svelte-1uha8ag){opacity:1}.drawer-shell.is-open.svelte-1uha8ag .side-drawer:where(.svelte-1uha8ag){transform:translate(0);box-shadow:8px 0 24px #0f172a38}.drawer-toolbar.svelte-1uha8ag{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:flex-start;gap:8px}.drawer-close-button.svelte-1uha8ag{margin-left:auto;width:32px;height:32px;border:none;background:transparent;color:#0f172a;font-size:22px;line-height:1;padding:0}.drawer-icon-button.svelte-1uha8ag{width:32px;height:32px;border:none;background:transparent;color:#0f172a;font-size:22px;line-height:1;padding:0}.drawer-calendar-section.svelte-1uha8ag{display:grid;gap:8px}.drawer-brand-area.svelte-1uha8ag{position:absolute;left:12px;right:12px;bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.drawer-service-logo.svelte-1uha8ag{width:min(140px,48vw);height:auto}.drawer-service-link.svelte-1uha8ag{font-size:12px;line-height:1.2;color:#334155;text-decoration:none;max-width:150px;white-space:normal;overflow-wrap:anywhere;text-align:right}.drawer-calendar-list.svelte-1uha8ag{display:grid;gap:6px;max-height:min(52svh,440px);overflow-y:auto;padding-right:2px}.calendar-item-button.svelte-1uha8ag{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:8px;text-align:left}.calendar-item-row.svelte-1uha8ag{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.calendar-item-button.is-active.svelte-1uha8ag{border-color:#94a3b8;background:#eef2ff}.calendar-item-color.svelte-1uha8ag{width:12px;height:12px;border-radius:999px;background:var(--calendar-color);flex-shrink:0;border:1px solid rgb(15 23 42 / 14%)}.calendar-item-name.svelte-1uha8ag{flex:1;font-size:14px;color:#0f172a}.calendar-item-selected.svelte-1uha8ag{font-size:12px;color:#475569}.calendar-item-edit-button.svelte-1uha8ag,.calendar-item-delete-button.svelte-1uha8ag{border:none;background:transparent;border-radius:10px;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}.calendar-item-edit-button.svelte-1uha8ag{color:#334155}.calendar-item-delete-button.svelte-1uha8ag{color:#991b1b}.calendar-item-delete-button.svelte-1uha8ag:disabled{opacity:.45}.calendar-scroll.svelte-1uha8ag{flex:1;overflow-y:auto;padding-right:0;overflow-anchor:none;overscroll-behavior-y:contain}.week-header.svelte-1uha8ag,.calendar-grid.svelte-1uha8ag{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-grid.svelte-1uha8ag{border-left:1px solid #e2e8f0;border-top:1px solid #e2e8f0}.week-header.svelte-1uha8ag{flex-shrink:0;background:#f5f7fb;padding:6px 0}.calendar-body.svelte-1uha8ag{padding-top:2px;padding-bottom:0}@media(max-width:768px){.calendar-body.svelte-1uha8ag{padding-bottom:56svh}}.week-label.svelte-1uha8ag{text-align:center;font-size:12px;color:#64748b;padding:6px 0}.day-cell.svelte-1uha8ag{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:14px;border:0;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;outline:0;box-shadow:none;border-radius:0;box-sizing:border-box;position:relative;-webkit-appearance:none;appearance:none;padding:0;width:100%;cursor:pointer;overflow:visible;z-index:0}.day-cell.animating-photo.svelte-1uha8ag{z-index:6}.day-cell.is-empty.svelte-1uha8ag{background-color:transparent;cursor:default}.day-cell.svelte-1uha8ag:not(.is-empty){background-color:#f8fafc}.day-cell.is-today.svelte-1uha8ag:after{content:"";position:absolute;inset:1px;border:2px solid #2563eb;pointer-events:none;z-index:2}.day-cell.has-image.svelte-1uha8ag:before{content:"";position:absolute;inset:0;background:#0f172a3d;z-index:1}.day-photo-layer.svelte-1uha8ag{position:absolute;inset:0;display:block;background-image:var(--day-photo-image);background-position:center;background-size:cover;pointer-events:none;z-index:0;opacity:1;transform:scale(1);transform-origin:center;will-change:transform,opacity}.day-photo-layer.is-new-photo.svelte-1uha8ag{animation:svelte-1uha8ag-day-photo-enter 1.8s cubic-bezier(.16,.84,.24,1) both}@keyframes svelte-1uha8ag-day-photo-enter{0%{transform:scale(1.55);opacity:0}35%{transform:scale(1.36);opacity:.45}to{transform:scale(1);opacity:1}}.day-label.svelte-1uha8ag{position:relative;z-index:4;text-shadow:0 1px 2px rgb(0 0 0 / 45%);color:#fff}.day-cell.svelte-1uha8ag:not(.has-image) .day-label:where(.svelte-1uha8ag){color:inherit;text-shadow:none}.day-label.in-photo.svelte-1uha8ag{position:absolute;right:4px;bottom:3px;font-size:11px;line-height:1;opacity:.6}.day-label.year-start.svelte-1uha8ag{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.05}.month-divider-corner.svelte-1uha8ag{position:absolute;inset:0;border-top:1px solid #BBBBBB;border-left:1px solid #BBBBBB;pointer-events:none;z-index:3}.day-cell.week-start.svelte-1uha8ag .month-divider-corner:where(.svelte-1uha8ag){border-left:none}.month-divider-top.svelte-1uha8ag{position:absolute;left:0;right:0;top:0;border-top:1px solid #BBBBBB;pointer-events:none;z-index:3}.hidden-file-input.svelte-1uha8ag{display:none}.hover-image-tooltip.svelte-1uha8ag{position:fixed;width:240px;height:240px;pointer-events:none;z-index:18;transform:translate(-50%);overflow:hidden;border-radius:10px;box-shadow:0 10px 24px #0f172a5c;border:1px solid rgb(255 255 255 / 80%);background:#0f172a;animation:svelte-1uha8ag-hover-image-tooltip-fade-in .12s ease-out}.hover-image-tooltip.svelte-1uha8ag img:where(.svelte-1uha8ag){display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.hover-image-tooltip-label.svelte-1uha8ag{position:absolute;left:50%;bottom:6px;transform:translate(-50%);padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.2;background:#0f172ac7;color:#fff}@keyframes svelte-1uha8ag-hover-image-tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.image-source-backdrop.svelte-1uha8ag{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center;padding:12px;box-sizing:border-box;z-index:20}.image-source-menu.svelte-1uha8ag{width:min(420px,100%);display:grid;gap:8px;background:#fff;border-radius:12px;padding:10px}.menu-button.svelte-1uha8ag{border:none;background:#f1f5f9;border-radius:10px;padding:12px;font-size:15px;color:#0f172a}.menu-button.camera-primary.svelte-1uha8ag{padding:16px;font-size:17px;font-weight:700}.menu-button.svelte-1uha8ag:disabled{opacity:.5}.menu-button.cancel.svelte-1uha8ag{background:#e2e8f0}.image-preview-backdrop.svelte-1uha8ag{position:fixed;inset:0;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;z-index:30}.image-preview-dialog.svelte-1uha8ag{width:min(720px,100%);max-height:calc(100svh - 24px);background:#fff;border-radius:12px;padding:10px;display:grid;gap:10px}.image-preview-header.svelte-1uha8ag{font-size:15px;font-weight:600;color:#0f172a}.image-preview.svelte-1uha8ag{width:100%;max-height:calc(100svh - 180px);object-fit:contain;background:#0f172a;border-radius:10px}.image-preview-actions.svelte-1uha8ag{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.menu-button.danger.svelte-1uha8ag{background:#fee2e2;color:#991b1b}.calendar-create-dialog.svelte-1uha8ag{width:min(420px,100%);display:grid;gap:10px;background:#fff;border-radius:12px;padding:12px}.calendar-create-title.svelte-1uha8ag{font-size:16px;font-weight:700;color:#0f172a}.calendar-create-label.svelte-1uha8ag{font-size:13px;font-weight:600;color:#334155}.calendar-create-input.svelte-1uha8ag{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:14px;color:#0f172a;background:#fff}.calendar-name-error-message.svelte-1uha8ag{margin:-2px 0 0;font-size:12px;color:#b91c1c}.calendar-color-palette.svelte-1uha8ag{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.calendar-palette-button.svelte-1uha8ag{height:30px;border-radius:999px;border:1px solid rgb(15 23 42 / 14%);background:var(--calendar-color)}.calendar-palette-button.is-selected.svelte-1uha8ag{outline:2px solid #0f172a;outline-offset:1px}.calendar-create-actions.svelte-1uha8ag{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.intro-dialog-backdrop.svelte-1uha8ag{position:fixed;inset:0;background:#0f172a9e;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;z-index:40}.intro-dialog.svelte-1uha8ag{width:min(560px,100%);background:#fff;border-radius:14px;padding:12px;display:grid;gap:10px}.intro-dialog-image.svelte-1uha8ag{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:10px;background:#dbeafe}.intro-dialog-title.svelte-1uha8ag{font-size:18px;font-weight:700;color:#0f172a}.intro-dialog-body.svelte-1uha8ag{margin:0;font-size:14px;color:#334155;line-height:1.5}
