.profile-tabs{gap:18px}
.profile-tabs button{font-size:14px;gap:5px}
.profile-tabs span{font-size:10px;padding:2px 4px}
.special-days-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.special-day-card{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.4;border-radius:12px;background:#201c27;color:white;text-align:left;animation:special-day-in 600ms calc(var(--day-order)*90ms) both}
.special-day-card>img{width:100%;height:100%;object-fit:cover;transition:transform 700ms ease}
.special-day-card:hover>img{transform:scale(1.045)}
.special-day-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 15%,#191522c9 70%,#191522f0);pointer-events:none}
.special-day-card-copy{position:absolute;z-index:1;inset:auto 10px 10px;display:flex;flex-direction:column;gap:5px}
.special-day-card-copy small{display:flex;align-items:center;gap:4px;color:#eed49d;font-size:10px}
.special-day-card-copy small .icon{width:12px;height:12px}
.special-day-card-copy strong{font-size:13px;line-height:1.35;word-break:keep-all}
.special-day-card-copy>span{font-size:10px;color:#eee5e9}
.special-days-empty{height:100%;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);text-align:center;font-size:13px}
.special-days-empty>.icon{width:32px;height:32px;color:#b89b68}
.special-days-empty p{margin:0}
.special-day-memory-status{flex:none;min-width:0}
.special-day-notice{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--mint) 45%,var(--line));background:color-mix(in srgb,var(--mint) 12%,var(--surface));border-radius:11px;text-align:left;animation:special-day-in 650ms 350ms both}
.special-day-notice>img{width:60px;aspect-ratio:16/9;object-fit:cover;flex:none;border-radius:6px}
.special-day-notice>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.special-day-notice strong{font-size:14px;line-height:1.4;color:var(--mint)}
.special-day-notice small{font-size:10px;color:var(--muted)}
.special-day-notice>.icon{width:17px;height:17px;flex:none;color:var(--mint)}
.modal.illustration-modal.special-day-viewer{--special-day-copy-room:160px;display:flex;flex-direction:column;width:min(1100px,calc(100vw - var(--dialog-gap)*2),calc((var(--dialog-max-height) - var(--special-day-copy-room))*1.7778));background:#1d1924;color:#fff;border:1px solid #ffffff18}
.special-day-scene{position:relative;overflow:hidden;min-height:0;flex:1}
.special-day-picture{display:block;width:100%;height:auto;max-height:calc(var(--dialog-max-height) - 160px);object-fit:contain;animation:special-day-picture-in 900ms ease-out both}
.special-day-glow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 35%,#ffe9b829 50%,transparent 65%);background-size:220% 100%;animation:special-day-glow 1.7s 150ms both}
.special-day-caption{display:flex;flex:none;align-items:center;gap:15px;padding:18px 26px 36px;animation:special-day-in 700ms 200ms both}
.special-day-caption>.portrait{width:46px;height:58px;flex:none;border-radius:12px;object-fit:cover;object-position:center top}
.special-day-caption-copy{min-width:0;flex:1}
.special-day-byline{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:12px}
.special-day-byline>span{font-size:10px;color:#dbc99f}
.special-day-caption h2{margin:7px 0 5px;font-size:21px;line-height:1.35}
.special-day-caption p{margin:0;font-size:12px;line-height:1.7;color:#ded5e5;word-break:keep-all}
.special-day-viewer .memory-viewer-navigation>button{top:40%}
.special-day-viewer .memory-position{bottom:8px;font-size:10px;padding:3px 10px}
@keyframes special-day-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes special-day-picture-in{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
@keyframes special-day-glow{from{opacity:0;background-position:140% 0}30%{opacity:1}to{opacity:0;background-position:-40% 0}}
@media(max-width:600px){
 .modal.illustration-modal.special-day-viewer{--special-day-copy-room:180px}
 .profile-tabs{gap:12px}
 .profile-tabs button{font-size:12px;gap:4px}
 .profile-tabs button>.icon{width:14px;height:14px}
 .profile-tabs span{font-size:9px;padding:2px 3px}
 .special-days-grid{gap:8px}
 .special-day-card{aspect-ratio:1.15}
 .special-day-card-copy{inset:auto 8px 8px;gap:4px}
 .special-day-card-copy strong{font-size:12px}
 .special-day-card-copy small,.special-day-card-copy>span{font-size:9px}
 .special-day-caption{align-items:flex-start;gap:10px;padding:14px 14px 34px}
 .special-day-caption>.portrait{width:36px;height:46px;border-radius:9px}
 .special-day-caption h2{font-size:17px;margin:6px 0}
 .special-day-caption p{font-size:11px;line-height:1.65}
 .special-day-byline{font-size:12px;gap:4px}
 .special-day-byline>span{font-size:9px}
 .special-day-picture{max-height:calc(var(--dialog-max-height) - 180px)}
}
@media(max-height:500px){
 .modal.illustration-modal.special-day-viewer{--special-day-copy-room:130px}
 .special-day-card{aspect-ratio:1.85}
 .special-day-caption{padding:10px 20px 28px;gap:12px}
 .special-day-caption h2{font-size:17px;margin:4px 0}
 .special-day-caption p{font-size:10px;line-height:1.5}
 .special-day-picture{max-height:calc(var(--dialog-max-height) - 130px)}
}
