.journal{--cream:#f0ebe1;--cream-dark:#e8e1d4;--ink:#221a12;--ink-light:#332820;--oracle-ink:#48392a;--oracle-light:#5d5040;--faint:#746856;--faint-light:#8f8272;--dot-color:#a89b8459;--dot-spacing:28px;--dot-size:1.2px;--flame-color:#f4c25b;--flame-core:#fff0c0;--font-user:"EB Garamond",serif;--font-companion:"Cormorant Garamond",serif}.journal:before{content:"";background-image:radial-gradient(circle,var(--dot-color)var(--dot-size),transparent var(--dot-size));background-size:var(--dot-spacing)var(--dot-spacing);pointer-events:none;z-index:0;background-position:14px 14px;position:absolute;inset:0}.journal:after{content:"";opacity:.03;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;position:absolute;inset:0}.candle-light{pointer-events:none;z-index:1;background:radial-gradient(130% 110% at 85% 4%,#ffaa3c47 0%,#ff9b2d21 25%,#dc9b4b0d 50%,#b4915f03 70%,#0000 90%);position:absolute;inset:0}.candle-light-flicker-1{pointer-events:none;z-index:1;background:radial-gradient(105% 95% at 84% 4%,#ffb94b4d 0%,#ffaa3721 25%,#ff96280a 50%,#0000 70%);animation:1.8s ease-in-out infinite warmth-pulse;position:absolute;inset:0}.candle-light-flicker-2{pointer-events:none;z-index:1;background:radial-gradient(95% 85% at 80% 7%,#ffc35533 0%,#ffaf3714 30%,#ff9b2d05 55%,#0000 70%);animation:3s ease-in-out .8s infinite warmth-flicker;position:absolute;inset:0}.candle-light-flicker-3{pointer-events:none;z-index:1;background:radial-gradient(145% 125% at 78% 6%,#ff9b232e 0%,#ff911912 35%,#dc872d05 60%,#0000 80%);animation:8s ease-in-out infinite warmth-drift;position:absolute;inset:0}@keyframes warmth-pulse{0%,to{opacity:1}40%{opacity:.35}70%{opacity:.75}}@keyframes warmth-flicker{0%{opacity:.3;transform:scale(1)}25%{opacity:1;transform:scale(1.06)translate(-1%,1%)}55%{opacity:.35;transform:scale(.94)translate(1%,-.5%)}80%{opacity:.85;transform:scale(1.03)translate(-.5%,.5%)}to{opacity:.3;transform:scale(1)}}@keyframes warmth-drift{0%,to{opacity:.4;transform:scale(1)translate(0)}50%{opacity:1;transform:scale(1.08)translate(-2%,2%)}}.journal-vignette{pointer-events:none;z-index:1;background:radial-gradient(120% 120% at 0 100%,#140e0514 0%,#0000 50%),linear-gradient(#0000 80%,#140e050a 100%);transition:opacity .8s;position:absolute;inset:0}.candle-flame{background:radial-gradient(ellipse at 50% 80%,var(--flame-core)0%,var(--flame-color)40%,#e8902e 70%,transparent 100%);transform-origin:bottom;filter:blur(.3px);border-radius:50%/60% 60% 40% 40%;width:10px;height:18px;animation:3s ease-in-out infinite flame-dance,2.3s ease-in-out infinite alternate flame-sway,1.8s ease-in-out infinite flame-bright;position:absolute;top:-20px;left:50%;translate:-50%}.candle-flame:after{content:"";background:radial-gradient(ellipse,var(--flame-core)0%,#f4c25b99 100%);border-radius:50%/60% 60% 40% 40%;width:5px;height:9px;animation:2s ease-in-out infinite alternate-reverse flame-inner;position:absolute;top:3px;left:50%;translate:-50%}.candle-glow{pointer-events:none;background:radial-gradient(circle,#ffbe5a59 0%,#ffaa3c24 40%,#0000 70%);width:250px;height:250px;animation:1.8s ease-in-out infinite glow-pulse;position:absolute;top:-70px;left:50%;translate:-50%}@keyframes flame-dance{0%,to{scale:1}12%{scale:1.15 .85}26%{scale:.88 1.14}38%{scale:1.1 .9}52%{scale:.9 1.1}65%{scale:1.08 .92}78%{scale:.94 1.06}90%{scale:1.04 .96}}@keyframes flame-sway{0%{rotate:-3.5deg}to{rotate:3.5deg}}@keyframes flame-bright{0%,to{opacity:1}35%{opacity:.82}65%{opacity:.94}}@keyframes flame-inner{0%{opacity:.8;scale:1}50%{opacity:1;scale:1 .85}to{opacity:.85;scale:1 1.1}}@keyframes glow-pulse{0%,to{opacity:.65;scale:1}35%{opacity:.4;scale:.95}65%{opacity:.85;scale:1.05}}.detail-emerging{filter:blur(8px);opacity:0;transition:filter 2.5s,opacity 2s}.detail-revealed{filter:blur();opacity:1;transition:filter 2.5s,opacity 2s}.index-title{font-family:var(--font-user);color:var(--ink);letter-spacing:-.01em;font-size:28px;font-weight:500;line-height:1.2}.entry-item{cursor:pointer;border-bottom:1px solid #a89b8426;padding:18px 0;transition:opacity .3s}.entry-item:active{opacity:.5}.entry-date{font-family:var(--font-user);color:var(--faint);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:13px;font-weight:400}.entry-preview{font-family:var(--font-user);color:var(--ink-light);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.entry-date-header{font-family:var(--font-user);color:var(--faint);letter-spacing:.05em;text-transform:uppercase;font-size:13px;font-weight:400}.entry-divider{background:var(--faint);opacity:.4;width:24px;height:1px;margin:16px 0}.msg-user{font-family:var(--font-user);color:var(--ink);font-size:17px;font-weight:400;line-height:1.7}.msg-companion{font-family:var(--font-companion);color:var(--oracle-ink);border-left:1px solid #a89b8440;padding-left:16px;font-size:17px;font-style:italic;font-weight:400;line-height:1.7}.write-area{font-family:var(--font-user);color:var(--ink);resize:none;width:100%;caret-color:var(--oracle-ink);background:0 0;border:none;outline:none;padding:0;font-size:17px;font-weight:400;line-height:1.7}.write-area::placeholder{color:#74685659;font-style:italic}.input-fade-in{animation:.8s forwards input-fade-in}@keyframes input-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings-link{font-family:var(--font-companion);color:var(--faint-light);cursor:pointer;letter-spacing:.02em;z-index:3;font-size:14px;font-style:italic;font-weight:400;transition:opacity .3s;position:absolute;bottom:24px;left:32px}.settings-link:active{opacity:.4}.page-enter{opacity:0;transform:translate(20px)}.page-active{opacity:1;transition:opacity .6s,transform .6s;transform:translate(0)}.page-exit{opacity:0;transition:opacity .6s,transform .6s;transform:translate(-20px)}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
