:root{--coal: #18181B;--deep-zinc: #52525B;--border: #E5E5E5;--surface: #FAFAFA;--bg: #F4F4F5;--bg-card: #FFFFFF;--forest-green: #065F46;--adventure-red: #991B1B}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:Outfit,sans-serif;color:var(--coal);background:var(--bg);-webkit-font-smoothing:antialiased;scroll-behavior:smooth}.journal-hero{position:relative;width:100%;min-height:380px;background:linear-gradient(135deg,#043e2e 0%,var(--coal) 100%);display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 24px 60px;color:#fff}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,transparent 30%,rgba(24,24,27,.4) 100%);pointer-events:none}.hero-content{position:relative;z-index:2;max-width:720px;width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;animation:fadeInDown .8s cubic-bezier(.16,1,.3,1)}.hero-emoji{font-size:56px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));margin-bottom:8px}.hero-title{font-size:32px;font-weight:900;letter-spacing:-.5px;line-height:1.2}.hero-date{display:inline-flex;align-items:center;gap:8px;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);padding:6px 16px;border-radius:100px;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.hero-date-icon{font-size:14px!important}.hero-description{font-size:15px;line-height:1.6;color:#fffc;font-weight:400;margin-top:8px;max-width:600px}.journal-container{max-width:800px;margin:0 auto;padding:40px 24px 120px}.atlas-header-wrapper{margin-bottom:48px;text-align:center}.atlas-section-header{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:8px}.atlas-section-header .line{flex:1;height:1px;border:none;background:var(--border)}.header-title-content{display:flex;align-items:center;gap:8px}.header-icon{color:var(--deep-zinc);font-size:18px!important}.atlas-section-header h1{font-size:10px;font-weight:900;letter-spacing:2px;color:var(--deep-zinc)}.atlas-section-subtitle{font-size:13px;color:var(--deep-zinc);font-weight:500}.timeline-track{position:relative;padding-left:32px}.timeline-track:before{content:"";position:absolute;top:8px;left:11px;width:2px;height:calc(100% - 16px);background:var(--border)}.timeline-node{position:relative;margin-bottom:48px}.timeline-node-marker{position:absolute;top:4px;left:-32px;width:24px;display:flex;flex-direction:column;align-items:center}.node-circle{width:24px;height:24px;background:var(--forest-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;z-index:2;box-shadow:0 0 0 6px var(--bg)}.atlas-detail-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 4px 12px #18181b08;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}.atlas-detail-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #18181b0f}.log-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--surface)}.day-badge{font-size:11px;font-weight:900;letter-spacing:1.5px;color:var(--forest-green)}.log-date{font-size:12px;font-weight:700;color:var(--deep-zinc);text-transform:capitalize}.log-legacy-summary{font-size:15px;line-height:1.6;font-weight:500;color:var(--coal);margin-bottom:20px}.story-blocks{display:flex;flex-direction:column;gap:20px}.story-block-text{font-size:14px;line-height:1.7;color:var(--coal)}.story-block-media-gallery{display:flex;flex-direction:column;gap:12px;margin:8px 0}.media-wrapper{position:relative;width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.gallery-img{width:100%;max-height:380px;object-fit:cover;display:block;transition:transform .4s ease}.media-wrapper:hover .gallery-img{transform:scale(1.02)}.media-caption{display:block;padding:8px 12px;background:var(--surface);font-size:11px;font-weight:500;color:var(--deep-zinc);border-top:1px solid var(--border)}.story-block-activity{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--surface);border-left:4px solid var(--forest-green);border-radius:4px 12px 12px 4px}.activity-icon{color:var(--forest-green);font-size:20px!important;margin-top:2px}.activity-info{display:flex;flex-direction:column;gap:2px}.activity-title{font-size:13px;font-weight:700;color:var(--coal)}.activity-details{font-size:11px;font-weight:500;color:var(--deep-zinc)}.story-block-mood{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface);border-radius:100px;font-size:12px;font-weight:700;color:var(--deep-zinc);border:1px solid var(--border)}.mood-icon{font-size:16px!important;color:var(--deep-zinc)}.cta-banner-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:680px;z-index:100;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}.cta-banner{background:#ffffffe0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(229,229,229,.6);border-radius:24px;padding:20px;box-shadow:0 20px 40px #18181b1a;display:flex;flex-direction:column;gap:16px}@media (min-width: 580px){.cta-banner{flex-direction:row;align-items:center;justify-content:space-between;padding:24px}}.cta-content{display:flex;gap:14px;align-items:flex-start;flex:1}.cta-icon-badge{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--forest-green);color:#fff;border-radius:12px;flex-shrink:0;box-shadow:0 4px 10px #065f4640}.cta-icon-badge .material-icons-round{font-size:22px!important}.cta-text-details h3{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--coal);margin-bottom:2px}.cta-text-details p{font-size:12px;line-height:1.5;color:var(--deep-zinc);font-weight:500}.cta-actions{display:flex;gap:8px}.cta-btn{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px;border-radius:12px;padding:12px 18px;text-decoration:none;cursor:pointer;border:none;transition:background-color .2s,color .2s,transform .1s}.cta-btn:active{transform:scale(.98)}.cta-btn.primary{background:var(--forest-green);color:#fff}.cta-btn.primary:hover{background:#044b37}.cta-btn.secondary{background:transparent;color:var(--deep-zinc);border:1px solid var(--border)}.cta-btn.secondary:hover{background:#18181b0d}.journal-viewer-status{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--surface);padding:24px}.status-container{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:440px;width:100%}.loading-text{font-weight:700;font-size:14px;color:var(--deep-zinc);margin-top:20px;text-transform:uppercase;letter-spacing:1px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--forest-green);border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-card{background:var(--bg-card);border:1px solid var(--border);border-top:4px solid var(--adventure-red);border-radius:20px;padding:36px 24px;box-shadow:0 10px 30px #0000000a}.error-icon{font-size:36px;margin-bottom:12px}.error-title{font-weight:900;font-size:16px;color:var(--coal);margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.error-message{font-size:13px;line-height:1.6;color:var(--deep-zinc);font-weight:500;margin-bottom:24px}.error-actions{display:flex;gap:8px;justify-content:center;width:100%}.error-actions .cta-btn{flex:1}.empty-log-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;border:1px dashed var(--border)!important;border-radius:20px;box-shadow:none!important;background:var(--surface)}.empty-icon{font-size:32px;margin-bottom:12px}.empty-title{font-weight:900;font-size:14px;color:var(--coal);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.empty-description{font-size:12px;line-height:1.6;color:var(--deep-zinc);font-weight:500;max-width:320px}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%)}}
