.entry-date-editor{border:1px solid var(--line);background:var(--paper);border-radius:16px;width:100%;max-width:430px;margin:8px 0 24px;padding:20px}.date-picker-heading,.date-picker-navigation{justify-content:space-between;align-items:center;gap:8px;display:flex}.date-picker-heading h2{color:var(--foreground);letter-spacing:-.04em;margin:4px 0 0;font-family:inherit;font-size:1.35rem;font-weight:650}.date-picker-navigation button{border:1px solid var(--line);width:44px;height:44px;color:var(--accent);background:var(--paper);border-radius:12px;place-items:center;padding:0;font-size:1.6rem;display:grid}.entry-date-editor p{color:var(--muted);margin:12px 0;font-size:.8rem;line-height:1.6}.date-picker-weekdays,.date-picker-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.date-picker-weekdays{border-bottom:1px solid var(--line);color:var(--muted);padding:12px 0;font-size:.75rem}.date-picker-weekdays span:first-child,.date-picker-weekdays span:last-child{color:var(--muted)}.date-picker-grid{margin-top:10px}.date-picker-day{width:100%;min-width:0;min-height:44px;color:var(--foreground);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;padding:7px 2px;font-size:.875rem;display:grid;position:relative}.date-picker-day:not(:disabled):hover,.date-picker-navigation button:not(:disabled):hover{background:var(--accent-soft)}.date-picker-day.is-original{border-color:var(--accent)}.date-picker-day.is-today time{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.date-picker-day.is-selected,.date-picker-day.is-selected:not(:disabled):hover{color:#fff;background:var(--accent)}.entry-date-editor button:disabled{cursor:not-allowed;opacity:.4}.date-picker-day.is-occupied:disabled{opacity:1;color:var(--muted);background:var(--soft);border-color:#0000}.date-picker-dot{background:var(--muted);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.entry-date-editor button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.date-picker-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:12px;margin:16px 0 12px;font-size:.75rem;display:flex}.date-picker-legend span{align-items:center;gap:5px;display:inline-flex}.date-picker-legend i{width:9px;height:9px;display:inline-block}.date-picker-status{min-height:32px;color:var(--muted);font-size:.75rem;line-height:1.6}.date-picker-status button,.date-picker-selection button{min-height:44px}.date-picker-selection{border-top:1px solid var(--line);color:var(--foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding-top:12px;font-size:.8rem;line-height:1.7;display:flex}.date-picker-selection span{overflow-wrap:anywhere}.date-picker-validation{color:var(--danger);margin:-12px 0 24px;font-size:.8rem;line-height:1.6}.date-picker-validation button{min-height:44px}@media (max-width:420px){.entry-date-editor{padding:14px 10px}.date-picker-grid,.date-picker-weekdays{gap:3px 1px}}.photo-attachments{background:var(--paper);border:0;border-radius:0;margin:0;padding:20px 0}.photo-attachments.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.photo-attachment-heading,.photo-attachment-heading>div{align-items:center;gap:10px;display:flex}.photo-attachment-heading{justify-content:space-between}.photo-attachment-heading strong{font-size:.87rem}.photo-attachment-heading span{color:var(--muted);font-size:.75rem}.photo-attachment-heading .soft-button{align-items:center;gap:6px;min-height:44px;display:inline-flex}.photo-hint{color:var(--muted);margin:10px 0 0;font-size:.75rem;line-height:1.7}.entry-photo-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.entry-photo-grid:empty{display:none}.photo-thumbnail{aspect-ratio:1;border:1px solid var(--line);background:var(--soft);width:100%;color:var(--muted);border-radius:10px;place-items:center;padding:0;font-size:.75rem;display:grid;overflow:hidden}.photo-thumbnail img{object-fit:cover;width:100%;height:100%}.photo-thumbnail:focus-visible,.photo-remove:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.photo-draft{min-width:0;position:relative}.photo-remove{color:#fff;text-shadow:0 1px 3px #000;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:22px;display:grid;position:absolute;top:-7px;right:-7px}.photo-remove:before{content:"";z-index:0;background:var(--muted);border-radius:50%;position:absolute;inset:8px}.photo-remove{isolation:isolate}.photo-remove:before{z-index:-1}.photo-progress{color:var(--muted);padding-top:6px;font-size:.75rem;display:block}.photo-error{color:var(--danger);overflow-wrap:anywhere;font-size:.75rem;line-height:1.5}.photo-error .text-button{min-height:44px}.photo-viewer{border:1px solid var(--line);background:var(--paper);width:min(960px,100vw - 24px);max-width:none;max-height:calc(100dvh - 24px);color:var(--foreground);border-radius:16px;padding:16px}.photo-viewer::backdrop{background:#191f28cc}.photo-viewer header,.photo-viewer footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.photo-viewer img{object-fit:contain;width:100%;height:min(65dvh,720px);margin:12px 0;display:block}.photo-viewer button{min-height:44px}.shared-photo-preview{margin:14px 0;position:relative}.shared-photo-preview img{object-fit:contain;border-radius:10px;width:100%;max-height:480px}.shared-photo-preview span{color:#fff;background:var(--muted);border-radius:20px;padding:5px 9px;font-size:.75rem;position:absolute;bottom:10px;right:10px}@media (max-width:620px){.entry-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-attachments{padding:20px 0}.photo-drop-hint{display:none}.photo-attachment-heading{gap:6px}.photo-viewer{padding:12px}}.entry-photo-gallery{min-width:0;margin:0 0 24px}.entry-gallery-stage{background:var(--soft);border-radius:8px;position:relative;overflow:hidden}.entry-gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;width:100%;display:flex;overflow-x:auto}.entry-gallery-track::-webkit-scrollbar{display:none}.entry-gallery-slide{aspect-ratio:1;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;min-width:0;position:relative}.entry-gallery-photo{cursor:zoom-in;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;display:block}.entry-gallery-photo img{object-fit:contain;width:100%;height:100%;display:block}.entry-gallery-photo:disabled{opacity:1;cursor:default}.entry-gallery-photo:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}.entry-gallery-placeholder{color:var(--muted);text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px 48px;font-size:.875rem;display:flex;position:absolute;inset:0}.entry-gallery-placeholder button{pointer-events:auto;min-height:44px}.entry-gallery-count{background:var(--muted);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:999px;padding:5px 12px;font-size:.8125rem;position:absolute;top:12px;right:12px}.entry-gallery-arrow{border:1px solid var(--line);width:44px;height:44px;color:var(--foreground);background:#fffffff0;border-radius:50%;place-items:center;margin-top:-22px;padding:0;font-size:2rem;line-height:1;display:grid;position:absolute;top:50%}.entry-gallery-arrow.previous{left:10px}.entry-gallery-arrow.next{right:10px}.entry-gallery-arrow:disabled{visibility:hidden}.entry-gallery-arrow:focus-visible,.entry-gallery-dots button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.entry-gallery-dots{justify-content:center;gap:0;padding-top:2px;display:flex}.entry-gallery-dots button{background:0 0;border:0;border-radius:50%;place-items:center;width:24px;height:44px;padding:0;display:grid}.entry-gallery-dots span{background:var(--muted);border-radius:50%;width:7px;height:7px}.entry-gallery-dots [aria-current=true] span{background:var(--accent)}@media (max-width:620px){.entry-gallery-stage{border-radius:8px}.entry-gallery-count{top:10px;right:10px}}.text-size-control{position:relative}.text-size-options{z-index:60;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:140px;padding:6px;display:grid;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #191f2814}.text-size-options button{text-align:left;border-radius:8px;min-height:44px;padding:10px 12px;font-size:.875rem}.text-size-options button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}
.records-view-switch{background:var(--soft);border-radius:14px;gap:4px;width:fit-content;margin-bottom:24px;padding:4px;display:flex}.records-view-switch button{min-width:92px;min-height:44px;color:var(--muted);border-radius:10px;padding:10px 20px;font-size:.875rem;font-weight:650}.records-view-switch button[aria-pressed=true]{background:var(--paper);color:var(--accent-strong);box-shadow:0 1px 5px #191f2810}.month-memory-surface{border:1px solid var(--line);border-radius:20px;min-width:0;padding:24px}.memory-period-hint,.memory-privacy,.memory-map-hint{color:var(--muted);margin:8px 0 16px;font-size:.8125rem;line-height:1.7}.memory-privacy{color:var(--accent-strong)}.memory-workspace{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.memory-map-frame{border:1px solid var(--line);background:var(--soft);border-radius:14px;position:relative;overflow:hidden}.memory-map-canvas{width:100%;height:560px}.memory-map-canvas img{max-width:none}.memory-map-status{z-index:2;text-align:center;background:var(--soft);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:24px;font-size:.875rem;display:flex;position:absolute;inset:0}.memory-map-status p{margin-bottom:12px}.memory-map-overlay{z-index:1;width:min(360px,100% - 32px);position:absolute;bottom:48px;left:16px}.memory-map-overlay[hidden],.memory-list-panel[hidden]{display:none}.memory-photo-marker{border:3px solid var(--paper);background:var(--soft);transform-origin:bottom;border-radius:12px;width:48px;height:48px;transition:transform .16s,border-color .16s;position:relative;box-shadow:0 2px 8px #191f2833}.memory-photo-marker img{object-fit:cover;border-radius:8px;width:100%;height:100%;position:absolute;inset:0}.memory-marker-placeholder{color:var(--muted);place-items:center;font:600 12px sans-serif;display:grid;position:absolute;inset:0}.memory-photo-marker.image-failed img{visibility:hidden}.memory-photo-marker.is-cluster{box-shadow:3px -3px 0 var(--paper), 5px -5px 0 var(--line), 0 3px 10px #191f2833}.memory-photo-marker.is-selected{border-color:var(--accent);transform:scale(1.16)}.memory-marker-count{border:2px solid var(--paper);background:var(--accent-strong);color:var(--paper);white-space:nowrap;border-radius:10px;padding:2px 6px;font:600 11px/1.4 sans-serif;position:absolute;bottom:-9px;right:-8px}.memory-photo-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;grid-template-columns:112px minmax(0,1fr);gap:10px 14px;padding:12px 12px 4px;display:grid;position:relative;box-shadow:0 4px 24px #191f2826}.memory-photo-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.memory-card-close{z-index:1;width:44px;height:44px;padding:0;position:absolute;top:2px;right:2px}.memory-card-photo{background:var(--soft);border-radius:10px;width:112px;height:112px;overflow:hidden}.memory-card-enlarge{width:100%;height:100%;padding:0;display:block;position:relative}.memory-card-enlarge img{object-fit:cover;width:100%;height:100%;display:block}.memory-card-enlarge>span{color:#fff;background:#191f28b3;border-radius:5px;padding:2px 5px;font-size:.625rem;position:absolute;bottom:4px;left:4px}.memory-card-description{min-width:0;padding-top:2px}.memory-card-eyebrow{color:var(--muted);margin:0 22px 8px 0;font-size:.6875rem}.memory-card-description h3{letter-spacing:-.03em;margin:0 0 8px;font-size:1rem;line-height:1.35}.memory-card-captured{color:var(--muted);margin:0;font-size:.6875rem;line-height:1.55}.memory-photo-card footer{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:4px;display:flex}.memory-card-pagination{align-items:center;gap:0;display:flex}.memory-card-pagination .icon-button{width:44px;min-width:44px;padding:0}.memory-card-pagination>span{text-align:center;min-width:28px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.memory-photo-card .memory-card-open-entry{color:var(--accent-strong);padding:8px 4px 8px 8px;font-size:.8125rem}.memory-card-photo-error{text-align:center;height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:6px;font-size:.6875rem;display:flex}.memory-card-photo-error .text-button{color:var(--accent-strong);padding:4px 0;font-size:.6875rem}.memory-browse-controls{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.memory-browse-controls button{font-size:.8125rem}.memory-browse-controls [aria-pressed=true]{color:var(--accent-strong);background:var(--accent-soft)}.memory-list-panel{min-width:0}.memory-list-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.memory-list-heading h3{margin:0;font-size:.9375rem}.memory-list-heading h3 span{color:var(--muted);font-size:.8125rem;font-weight:400}.memory-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.memory-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.memory-list li:first-child{padding-top:0}.memory-list li>div{min-width:0}.memory-list strong{font-size:.875rem}.memory-list p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0;font-size:.75rem}.memory-list .text-button{color:var(--accent-strong);padding-left:0}.memory-thumbnail{border:1px solid var(--line);background:var(--soft);border-radius:10px;flex:0 0 84px;width:84px;height:84px;padding:0;overflow:hidden}.memory-thumbnail img{object-fit:cover;width:100%;height:100%}.memory-empty{text-align:center;background:var(--soft);color:var(--muted);border-radius:12px;padding:24px 16px;font-size:.875rem}.entry-memories{margin-bottom:24px}.entry-memories .memory-map-canvas{height:480px}.photo-draft-metadata{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:.7rem;line-height:1.5}.photo-draft-metadata span{display:block}.photo-viewer-caption{color:var(--muted);flex-wrap:wrap;gap:4px 20px;margin:8px 0;font-size:.8125rem;display:flex}@media (max-width:760px){.month-memory-surface{border-radius:16px;padding:16px}.memory-map-canvas,.entry-memories .memory-map-canvas{height:clamp(480px,70svh,600px)}.memory-map-overlay{width:calc(100% - 20px);left:10px}.memory-photo-card{grid-template-columns:96px minmax(0,1fr);gap:10px;padding:10px 10px 2px}.memory-card-photo{width:96px;height:112px}.memory-card-description h3{font-size:.9375rem}.memory-list{grid-template-columns:minmax(0,1fr)}.memory-thumbnail{flex-basis:76px;width:76px;height:76px}}@media (max-width:360px){.memory-photo-card .memory-card-open-entry{gap:4px;padding-inline:0;font-size:.75rem}}
:root{--background:#fff;--foreground:#191f28;--muted:#626d7a;--line:#e5e8eb;--paper:#fff;--soft:#f7f8fa;--accent:#485e51;--accent-strong:#34483b;--accent-hover:#34483b;--accent-soft:#f2f7f3;--accent-border:#c2d3c6;--warm-surface:#faf7f2;--emotion-warm:#a65d31;--emotion-calm:#2f6f5e;--emotion-quiet:#65558f;--emotion-intense:#9b5965;--danger:#d63045;--diary-font-size:1rem}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--background)}body{color:var(--foreground);background:var(--background);letter-spacing:-.025em;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:1rem;line-height:1.6}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary{cursor:pointer}button{background:0 0;border:0}button:disabled{opacity:.38;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;font-size:1.5rem;font-weight:750;line-height:1.4}h2{font-size:1.25rem;font-weight:700;line-height:1.45}h3{font-size:1.125rem;font-weight:650}small{font-size:.8125rem}img{max-width:100%}:where(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea{border:1px solid var(--line);background:var(--soft);border-radius:12px;width:100%;min-width:0;padding:12px 14px}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}textarea{resize:vertical}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.primary-button,.soft-button,.text-button,.icon-button,.text-size-button,.tag-reveal{border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}.primary-button{background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.soft-button{background:var(--soft);color:#333d4b}.soft-button:hover:not(:disabled),.icon-button:hover,.text-button:hover{background:#f2f4f6}.text-button,.text-size-button,.tag-reveal{color:var(--muted);background:0 0;padding-inline:10px}.icon-button{flex-shrink:0;width:44px;padding:10px}.danger,.save-status.error,.save-status.conflict{color:var(--danger)}.section-eyebrow{color:var(--muted);margin-bottom:8px;font-size:.875rem}.app-shell{min-height:100svh}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;max-width:1120px;height:80px;margin:0 auto;padding:0 32px;display:flex}.brand{letter-spacing:-.06em;flex-shrink:0;align-items:center;gap:10px;font-size:1.125rem;font-weight:800;display:inline-flex}.brand img{width:142px;height:auto;display:block}.login-intro .brand img{width:180px}.primary-nav{align-items:center;gap:6px;height:100%;display:flex}.primary-nav a{color:var(--muted);border-radius:12px;align-items:center;gap:7px;padding:10px 14px;font-size:.875rem;font-weight:600;display:flex}.primary-nav a.active{color:var(--accent-strong);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent);font-weight:750}.primary-nav .nav-icon svg{width:20px;height:20px}.nav-icon{display:flex;position:relative}.nav-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;right:-3px}.account-actions{align-items:center;gap:4px;display:flex}.notification-button{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.notification-badge{background:var(--accent);color:#fff;border:2px solid #fff;border-radius:20px;min-width:18px;padding:0 4px;font-size:.75rem;position:absolute;top:1px;right:0}.action-menu{position:relative}.action-menu-content{z-index:40;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:160px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 32px #191f2814}.action-menu-content>a,.action-menu-content>button{text-align:left;border-radius:8px;width:100%;padding:12px;font-size:.875rem;display:block}.action-menu-content>a:hover,.action-menu-content>button:hover{background:var(--soft)}.account-name{border-bottom:1px solid var(--line);padding:12px;font-size:.875rem;font-weight:650}.mobile-bottom-nav{display:none}.calendar-page{max-width:1080px;margin:auto;padding:40px 32px 80px}.diary-welcome{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.diary-welcome h1{margin:0}.diary-welcome>span{color:var(--muted);font-size:.875rem}.calendar-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:56px;display:grid}.calendar-surface{min-width:0}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px;display:flex}.calendar-header h2{white-space:nowrap;margin:0;font-size:1.125rem}.month-controls{align-items:center;gap:0;display:flex}.month-controls .icon-button{width:36px}.month-controls .text-button{padding-inline:8px}.calendar-weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{color:var(--muted);margin-bottom:10px;font-size:.8125rem}.calendar-day,.calendar-empty{min-width:0;min-height:64px}.calendar-day{flex-direction:column;justify-content:flex-start;align-items:center;gap:5px;padding:6px 0;display:flex;position:relative}.calendar-day time{border-radius:14px;place-items:center;width:38px;height:38px;font-size:.9375rem;font-weight:500;display:grid}.calendar-day:hover:not(:disabled) time{background:var(--accent-soft)}.calendar-day.is-today time{color:var(--accent);font-weight:750}.calendar-day.is-selected time,.calendar-day.is-selected:hover time{color:#fff;background:var(--accent);font-weight:700}.entry-status,.record-dot{background:var(--muted);border-radius:50%;width:4px;height:4px;display:inline-block}.record-dot{margin:0 7px 2px 0}.calendar-summary{min-height:42px;color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;font-size:.8125rem;display:flex}.calendar-reflection{border-top:1px solid var(--line);color:var(--muted);margin-top:12px;padding:16px 0;font-size:.875rem}.calendar-reflection summary{width:fit-content;color:var(--accent-strong);padding:8px 0;font-weight:600}.period-actions{justify-items:start;display:grid}.day-detail{border-left:1px solid var(--line);min-width:0;padding-left:32px}.day-detail-heading{justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin-bottom:16px;display:flex}.day-detail-heading h2{margin:0;font-size:1.125rem}.day-detail-heading>span{color:var(--muted);font-size:.8125rem}.entry-meta{justify-content:space-between;align-items:center;display:flex}.visibility-label,.activity-visibility{color:var(--muted);font-size:.8125rem}.entry-body,.saved-entry>p,.shared-detail>p,.activity-entry-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--diary-font-size);margin:16px 0 24px;line-height:1.9}.entry-emotions,.shared-emotions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.emotion-pill,.mood-pill,.shared-emotions>span{color:var(--muted);align-items:center;gap:5px;padding:5px 8px;font-size:.8125rem;display:inline-flex}.entry-tags{color:var(--muted);margin-top:12px;font-size:.875rem}.empty-day,.feed-empty,.activity-empty{color:var(--muted);text-align:center;padding:48px 0}.empty-day h2,.empty-day h3,.feed-empty h2,.activity-empty h2{color:var(--foreground);margin-bottom:8px;font-size:1.125rem}.empty-day p,.feed-empty p,.activity-empty p{margin-bottom:24px;font-size:.875rem}.today-layout{width:min(100%,744px);margin:auto;padding:40px 32px 80px}.main-column,.composer-card{min-width:0}.composer-topline{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.composer-date-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.composer-topline h1{margin:0;font-size:1.375rem}.composer-text-tools{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.875rem;display:flex}.composer-card textarea{min-height:280px;font-size:var(--diary-font-size);background:#fff;border:0;border-radius:0;padding:12px 0;line-height:1.9}.composer-card textarea::placeholder{color:#8b95a1}.composer-word-count{text-align:right;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 0 24px;font-size:.8125rem}.composer-section-heading{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;display:flex}.composer-section-heading h2{margin:0;font-size:1rem}.composer-section-heading>span{color:var(--muted);font-size:.8125rem}.emotion-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.emotion-choice{border:1px solid var(--line);min-height:44px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 4px;font-size:.875rem;display:flex}.emotion-choice .emotion-icon{width:20px;height:20px}.emotion-icon-happy,.emotion-icon-proud,.emotion-icon-joy,.emotion-icon-excited{color:var(--emotion-warm)}.emotion-icon-grateful,.emotion-icon-calm{color:var(--emotion-calm)}.emotion-icon-tired,.emotion-icon-anxious,.emotion-icon-stuck,.emotion-icon-sad,.emotion-icon-lonely,.emotion-icon-empty{color:var(--emotion-quiet)}.emotion-icon-hurt,.emotion-icon-angry{color:var(--emotion-intense)}.emotion-choice.selected{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent);font-weight:700}.tag-reveal{margin-top:16px;padding-left:0}.tag-input{align-items:center;gap:8px;margin-top:20px;display:flex}.composer-footer{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.save-status{color:var(--muted);margin-bottom:16px;font-size:.875rem;display:block}.save-status.saved{color:var(--accent-strong)}.composer-save-actions{justify-content:space-between;align-items:center;gap:20px;display:flex}.composer-save-actions>.primary-button{min-width:104px}.visibility-check{align-items:center;gap:10px;display:flex}.visibility-check>span{gap:3px;display:grid}.visibility-check strong{font-size:.875rem;font-weight:600}.visibility-check small{color:var(--muted)}.loading-state,.notice,.friend-message,.friend-error{background:var(--soft);color:var(--muted);border-radius:12px;margin:16px 0;padding:20px;font-size:.875rem}.loading-state{text-align:center;place-content:center;gap:12px;min-height:120px;display:grid}.friend-error{color:var(--danger)}.reflection-invite{color:var(--accent-strong);min-height:44px;margin:24px 0;font-size:.875rem;display:block}.reflection-card,.safety-card{background:var(--soft);border-radius:12px;margin-top:24px;padding:24px}.reflection-card{background:var(--accent-soft)}.reflection-card .reflection-heading>span:first-child{color:var(--accent-strong);font-weight:600}.reflection-sheet .section-eyebrow{color:var(--accent-strong)}.reflection-card h2,.safety-card h2{font-size:1.125rem}.reflection-heading,.reflection-limit,.reflection-hearts{color:var(--muted);font-size:.8125rem}.reflection-heading{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.reflection-card .reflection-moment{border-color:var(--accent-border)}.reflection-moment{border-top:1px solid var(--line);padding-top:16px}.reflection-moment>span,.feedback-line{color:var(--muted);font-size:.875rem}.reflection-question,.reflection-more{margin:16px 0}.feedback-row,.feedback-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feedback-form>div{gap:8px;margin-top:8px;display:flex}.modal-backdrop{z-index:100;background:#191f2866;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.reflection-sheet{background:#fff;border-radius:20px;width:min(100%,480px);max-height:90dvh;padding:32px;overflow-y:auto}.reflection-sheet h2{font-size:1.375rem}.reflection-sheet>p{color:var(--muted);font-size:.875rem}.reflection-mode-grid{gap:8px;display:grid}.reflection-mode-grid button{background:var(--soft);text-align:left;border:1px solid #0000;border-radius:12px;min-height:52px;padding:14px;font-size:.9375rem}.reflection-mode-grid button.selected{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent);font-weight:700}.close-sheet{width:100%;margin-top:16px}.friends-shell,.activity-shell{width:min(100%,744px);margin:0 auto;padding:40px 32px 80px}.friends-header,.activity-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;margin-bottom:24px;display:flex}.friends-header h1,.activity-heading h1{margin-bottom:8px}.friends-header p,.activity-heading p{color:var(--muted);margin-bottom:0;font-size:.875rem}.friends-header nav{align-items:center;gap:8px;display:flex}.friends-header nav a{background:var(--soft);border-radius:12px;align-items:center;min-height:44px;padding:10px 14px;font-size:.875rem;font-weight:600;display:inline-flex}.friend-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.friend-section h2{font-size:1rem}.friend-section h2 span{color:var(--muted);margin-left:6px}.friend-section summary{min-height:44px;font-size:.875rem}.invite-card{background:var(--soft);border-radius:12px;gap:16px;padding:24px;display:grid}.invite-card h2{margin:0;font-size:1rem}.invite-card p{color:var(--muted);margin:4px 0 0;font-size:.875rem}.invite-card>strong{letter-spacing:.03em;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:1rem}.friend-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.friend-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.friend-profile{align-items:center;gap:12px;min-width:0;display:flex}.friend-profile>span,.friend-profile>img,.shared-card-author>span,.shared-card-author>img,.activity-avatar{background:var(--soft);object-fit:cover;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.friend-profile>div{min-width:0;display:grid}.friend-profile strong{overflow-wrap:anywhere;font-size:.9375rem}.friend-profile small{color:var(--muted)}.friend-empty{color:var(--muted);padding:12px 0;font-size:.875rem}.code-form{gap:8px;margin-top:12px;display:flex}.code-form .soft-button{flex-shrink:0}.shared-feed{gap:32px;display:grid}.shared-day>header{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:.8125rem;display:flex}.shared-feed-card{border-bottom:1px solid var(--line);margin-bottom:24px;padding:0 0 24px;display:block}.shared-card-author{align-items:center;gap:12px;padding:0 0 16px;display:flex}.shared-card-author>div{flex:1;gap:2px;min-width:0;display:grid}.shared-card-author strong{overflow-wrap:anywhere;font-size:.9375rem}.shared-card-author small{color:var(--muted);font-size:.75rem}.shared-card-mood{padding:12px 0}.shared-card-mood>div{flex-wrap:wrap;gap:4px;display:flex}.shared-card-social{align-items:center;gap:20px;font-size:.875rem;display:flex}.shared-card-social>button,.shared-card-social>a{align-items:center;gap:6px;min-width:44px;min-height:44px;display:flex}.shared-card-like.liked{color:var(--danger)}.shared-feed-card footer{color:var(--muted);justify-content:flex-end;margin-top:12px;font-size:.8125rem;display:flex}.shared-more{justify-self:center}.shared-detail{padding:8px 0}.shared-detail footer,.share-notice{border-top:1px solid var(--line);color:var(--muted);margin:24px 0;padding-top:20px;font-size:.875rem}.share-choice{align-items:center;gap:12px;padding:12px 0;display:flex}.share-choice>span{gap:4px;display:grid}.share-choice small{color:var(--muted)}.comments,.entry-social-panel{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.comments h2{font-size:1rem}.comments form{margin-top:20px}.comments form>div{gap:8px;display:flex}.comments form>div button{flex-shrink:0}.comment,.entry-social-comment{border-bottom:1px solid var(--line);padding:16px 0}.comment p,.entry-social-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.comment strong,.entry-social-comment strong{font-size:.875rem}.comment time,.entry-social-comment time{color:var(--muted);font-size:.75rem}.comment.reply{border-bottom:0;padding-left:20px}.entry-social-reply-button{min-height:44px;margin-left:12px}.entry-social-reply{border-left:2px solid var(--line);margin:12px 0 0 12px;padding:8px 12px}.entry-social-reply-form{gap:10px;margin-top:12px;display:grid}.entry-social-reply-form>div{justify-content:space-between;align-items:center;gap:8px;font-size:.875rem;display:flex}.entry-social-reply-form textarea{resize:vertical;width:100%;min-width:0}.entry-social-reply-form>button{justify-self:end}.entry-social-summary>span{align-items:center;gap:5px;display:inline-flex}.entry-social-summary{flex-wrap:wrap;align-items:center;gap:16px;font-size:.875rem;display:flex}.social-actions{margin-top:20px}.social-actions .liked{color:var(--danger);background:#fff1f2}.notification-popover{inset:var(--notification-top,80px) var(--notification-right,16px) auto auto;border:1px solid var(--line);width:min(400px,100% - 32px);max-height:75dvh;color:var(--foreground);background:#fff;border-radius:20px;margin:0;padding:0;position:fixed;overflow:auto;box-shadow:0 16px 48px #191f281a}.notification-popover::backdrop{background:#191f2826}.notification-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px;display:flex}.notification-header h2{margin:0}.notification-close{place-items:center;min-width:44px;min-height:44px;display:grid}.notification-item{border-bottom:1px solid var(--line);gap:12px;padding:20px 24px;display:flex}.notification-item.unread{background:var(--accent-soft)}.notification-item-icon{width:24px;color:var(--muted);flex-shrink:0}.notification-item-icon svg{width:24px;height:24px}.notification-item-content{overflow-wrap:anywhere;gap:6px;font-size:.875rem;display:grid}.notification-item-content small{color:var(--muted);font-size:.75rem}.notification-empty{text-align:center;padding:48px 24px}.notification-empty strong{font-size:1rem}.notification-empty p,.notification-read-error{color:var(--muted);font-size:.875rem}.notification-read-error{padding:16px 24px}.login-page{place-items:center;min-height:100svh;padding:48px 24px;display:grid}.login-intro{width:min(100%,360px)}.login-intro>.brand{margin-bottom:64px}.login-intro h1{letter-spacing:-.05em;margin-bottom:20px;font-size:2rem;line-height:1.4}.login-description{color:var(--muted);margin-bottom:48px;font-size:1rem;line-height:1.8}.kakao-login{color:#191919;background:#fee500;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:54px;font-size:1rem;font-weight:650;display:flex}.login-intro>small{color:var(--muted);text-align:center;margin-top:24px;line-height:1.8;display:block}.login-notice{color:var(--muted);margin-top:16px;font-size:.875rem}:root[data-diary-text-size=extra-small]{--diary-font-size:.82rem}:root[data-diary-text-size=small]{--diary-font-size:.96rem}:root[data-diary-text-size=medium]{--diary-font-size:1.1rem}:root[data-diary-text-size=large]{--diary-font-size:1.4rem}:root[data-diary-text-size=extra-large]{--diary-font-size:1.75rem}@media (max-width:1000px){.primary-nav a{padding-inline:10px}.primary-nav .nav-icon{display:none}.calendar-workspace{gap:28px}.day-detail{padding-left:24px}}@media (max-width:767px){.topbar{border-bottom:0;height:64px;padding:0 20px}.primary-nav{display:none}.app-shell{padding-bottom:var(--mobile-nav-height,calc(80px + env(safe-area-inset-bottom)))}.mobile-bottom-nav{z-index:50;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;justify-content:space-around;display:flex;position:fixed;inset:auto 0 0}.mobile-bottom-nav a{min-height:48px;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px;font-size:.75rem;font-weight:500;display:flex}.mobile-bottom-nav a.active{color:var(--accent-strong);background:var(--accent-soft);border-radius:12px;font-weight:750}.mobile-bottom-nav a.active svg{stroke-width:2px}.calendar-page,.today-layout,.friends-shell,.activity-shell{padding:24px 20px 40px}.diary-welcome{margin-bottom:28px}.calendar-workspace{grid-template-columns:minmax(0,1fr);gap:24px}.calendar-header{margin-bottom:20px}.calendar-day,.calendar-empty{min-height:54px}.calendar-day time{border-radius:12px;width:34px;height:34px}.calendar-reflection{margin-top:0;padding:8px 0}.day-detail{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.day-detail-heading{margin-bottom:8px}.composer-topline h1{font-size:1.25rem}.composer-card textarea{min-height:240px}.composer-save-actions{flex-direction:column;align-items:stretch;gap:24px}.composer-save-actions>.primary-button{min-height:52px}.emotion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.composer-section-heading{flex-wrap:wrap}.friend-row{flex-wrap:wrap;gap:10px}.friend-row .friend-actions{margin-left:auto}.invite-card{padding:20px}.notification-popover{width:100%;max-width:100%;max-height:85dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:20px 20px 0 0;inset:auto 0 0}.modal-backdrop{align-items:flex-end;padding:0}.reflection-sheet{width:100%;max-height:85dvh;padding:28px 24px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.login-page{align-items:start;padding-top:64px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.feed-body{margin:16px 0}.feed-body p{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;line-height:1.8;display:-webkit-box;overflow:hidden}.feed-body p.is-expanded{-webkit-line-clamp:unset;display:block}.feed-body .text-button{color:var(--muted);padding-left:0}.profile-photo-dialog{border:1px solid var(--line);background:var(--paper);width:min(400px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--foreground);border-radius:20px;margin:auto;padding:24px;overflow:auto}.profile-photo-dialog::backdrop{background:#191f2870}.profile-photo-dialog h2{margin:0 0 8px;font-size:1.25rem}.profile-photo-dialog>p{color:var(--muted);font-size:.875rem}.profile-photo-preview{background:var(--soft);border-radius:50%;place-items:center;width:160px;height:160px;margin:24px auto;font-size:2rem;display:grid;overflow:hidden}.profile-photo-preview img{object-fit:cover;width:100%;height:100%}.profile-photo-select{justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.profile-photo-select input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.profile-photo-select:focus-within{outline:2px solid var(--accent);outline-offset:2px}.profile-photo-dialog>.text-button{width:100%}.profile-photo-dialog footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.profile-photo-dialog .profile-photo-error{color:var(--danger)}.friend-profile>span,.shared-card-author>span,.activity-avatar:not(.like),.profile-photo-preview{background:var(--accent-soft);color:var(--accent-strong)}.period-actions .text-button,.activity-avatar-edit .text-button{color:var(--accent-strong)}.period-actions .text-button:hover:not(:disabled){background:var(--accent-soft)}.primary-nav a:not(.active):hover{color:var(--accent-strong);background:var(--accent-soft)}.social-scope{color:var(--muted);margin:12px 0;font-size:.8125rem}.comment-target{background:var(--accent-soft);outline:2px solid var(--accent-border);border-radius:8px}[id^=comment-],#entry-comments{scroll-margin-block:100px}.draft-notice{background:var(--soft);border-radius:8px;margin:12px 0;padding:12px;font-size:.875rem}.draft-notice button{margin:8px 8px 0 0}
