:root{--bg-color: #040404;--text-primary: #fcfbfa;--text-secondary: #a09e9a;--gold: #d4af37;--gold-light: #f3df95;--gold-dark: #917218;--gold-glow: rgba(212, 175, 55, .15);--gold-border: rgba(212, 175, 55, .12);--color-hope: #d4af37;--color-love: #f28585;--color-loss: #a6b1e1;--color-wisdom: #d9a05b;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-smooth: all .6s cubic-bezier(.16, 1, .3, 1);--transition-fast: all .2s ease}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:thin;scrollbar-color:var(--gold) var(--bg-color)}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);overflow-x:hidden;min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}.vignette{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.8) 85%);z-index:3;pointer-events:none}.noise-overlay{position:fixed;top:-50%;left:-50%;right:-50%;bottom:-50%;width:200%;height:200%;background:transparent url('data:image/svg+xml,%3Csvg viewBox="0%200%20200%20200"%20xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter%20id="noiseFilter"%3E%3CfeTurbulence%20type="fractalNoise"%20baseFrequency="0.8"%20numOctaves="3"%20stitchTiles="stitch"/%3E%3C/filter%3E%3Crect%20width="100%25"%20height="100%25"%20filter="url(%23noiseFilter)"/%3E%3C/svg%3E') repeat;opacity:.04;z-index:2;pointer-events:none;animation:grain-animation 8s steps(10) infinite}@keyframes grain-animation{0%,to{transform:translate(0)}10%{transform:translate(-1%,-1%)}20%{transform:translate(-2%,1%)}30%{transform:translate(1%,-2%)}40%{transform:translate(-1%,3%)}50%{transform:translate(-2%,1%)}60%{transform:translate(1%,2%)}70%{transform:translate(-1%,-3%)}80%{transform:translate(2%,1%)}90%{transform:translate(-1%,2%)}}.ambient-glow{position:fixed;border-radius:50%;filter:blur(150px);opacity:.12;z-index:1;pointer-events:none}#glow-1{width:600px;height:600px;background:radial-gradient(circle,rgba(212,175,55,.2) 0%,transparent 70%);top:-10%;right:-10%}#glow-2{width:800px;height:800px;background:radial-gradient(circle,rgba(255,138,0,.08) 0%,transparent 70%);bottom:-20%;left:-10%}#neural-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;background-color:var(--bg-color)}.site-header{position:fixed;top:0;left:0;width:100%;padding:2.5rem 4rem;display:flex;justify-content:space-between;align-items:center;z-index:100;pointer-events:auto;background:linear-gradient(to bottom,rgba(4,4,4,.8) 0%,transparent 100%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;letter-spacing:.05em}.logo-link{color:var(--text-primary);text-decoration:none}.logo-accent{color:var(--gold);font-style:italic;font-weight:400}.main-nav{display:flex;align-items:center;gap:3rem}.nav-link{font-family:var(--font-sans);font-size:.85rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);text-decoration:none;transition:var(--transition-fast);position:relative;padding:.5rem 0}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--gold);transition:var(--transition-smooth)}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link:hover:after,.nav-link.active:after{width:100%}.page-container{width:100%;min-height:100vh;padding:8.5rem 4rem 4rem;position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.chat-section{max-width:1000px;width:100%;display:flex;flex-direction:column;gap:3rem}.chat-header{text-align:center;display:flex;flex-direction:column;align-items:center;animation:fade-down .8s cubic-bezier(.16,1,.3,1) forwards}.ai-badge{font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);border:1px solid var(--gold-border);background:#d4af370d;padding:.4rem 1.15rem;border-radius:100px;margin-bottom:1.5rem;box-shadow:0 0 10px #d4af370d}.main-headline{font-family:var(--font-serif);font-size:4rem;font-weight:400;line-height:1.2;margin-bottom:1.25rem;letter-spacing:-.01em;background:linear-gradient(135deg,#fcfbfa 20%,#f3df95 70%,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subheadline{font-family:var(--font-sans);font-size:1.1rem;font-weight:300;color:var(--text-secondary);max-width:650px;line-height:1.7}.chat-container{display:flex;flex-direction:column;gap:2rem;background:#0a0a0a59;border:1px solid rgba(255,255,255,.04);border-radius:24px;padding:2.5rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 30px 60px #0009,0 0 40px #d4af3705;min-height:520px;justify-content:space-between;animation:fade-up .8s cubic-bezier(.16,1,.3,1) forwards}.chat-history{display:flex;flex-direction:column;gap:2.2rem;overflow-y:auto;max-height:480px;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.1) transparent}.chat-history::-webkit-scrollbar{width:4px}.chat-history::-webkit-scrollbar-thumb{background:#d4af3733;border-radius:2px}.message{display:flex;flex-direction:column;max-width:82%;opacity:0;transform:translateY(15px);animation:message-fade .5s ease forwards}.message.user-message{align-self:flex-end;align-items:flex-end}.message.ai-message{align-self:flex-start;align-items:flex-start}.message-bubble{padding:1.25rem 1.75rem;border-radius:18px;font-size:1rem;line-height:1.6}.user-message .message-bubble{background:linear-gradient(135deg,#d4af3714,#91721814);border:1px solid rgba(212,175,55,.2);color:var(--gold-light);border-bottom-right-radius:4px;box-shadow:0 4px 15px #d4af370a}.ai-message .message-bubble{background:#ffffff05;border:1px solid rgba(255,255,255,.06);color:var(--text-primary);border-top-left-radius:4px}.message-meta{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#a09e9a80;margin-bottom:.5rem}.cursor{display:inline-block;width:6px;height:15px;background-color:var(--gold-light);margin-left:4px;vertical-align:middle;animation:blink .8s infinite alternate steps(2)}@keyframes blink{0%{opacity:0}to{opacity:1}}.input-console{background:#ffffff04;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1rem 1.25rem;position:relative;overflow:hidden;transition:border-color .4s ease,box-shadow .4s ease}.input-console:focus-within{border-color:#d4af3759;box-shadow:0 0 25px #d4af3714}.console-border-glow{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(212,175,55,.1) 0%,transparent 60%);pointer-events:none;z-index:1}#feeling-form{display:flex;flex-direction:column;gap:1rem;position:relative;z-index:2}.feeling-textarea{width:100%;height:75px;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:1.05rem;font-weight:300;line-height:1.6;resize:none;transition:var(--transition-fast)}.feeling-textarea:focus{outline:none}.feeling-textarea::placeholder{color:#a09e9a4d}.console-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.03);padding-top:.75rem}.char-count{font-size:.75rem;color:#a09e9a66;letter-spacing:.05em}.send-btn{background:linear-gradient(135deg,var(--gold-dark) 0%,var(--gold) 50%,var(--gold-light) 100%);color:#040404;border:none;padding:.65rem 1.75rem;border-radius:100px;font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:var(--transition-smooth);box-shadow:0 4px 15px #d4af3726}.send-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #d4af3759;filter:brightness(1.08)}.send-btn:active{transform:translateY(0)}.stories-recommendation-container{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem;width:100%}.rec-headline{font-family:var(--font-serif);font-size:1.4rem;font-style:italic;color:var(--gold-light);border-bottom:1px dashed rgba(212,175,55,.2);padding-bottom:.75rem;margin-bottom:.5rem;animation:fade-in .8s ease forwards}.stories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%}.recommended-story-card{background:#ffffff04;border:1px solid rgba(255,255,255,.05);border-radius:18px;padding:1.75rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;transition:var(--transition-smooth);opacity:0;transform:translateY(20px);animation:message-fade .6s ease forwards}.recommended-story-card:hover{transform:translateY(-5px);border-color:var(--gold-border);background:#d4af3705;box-shadow:0 15px 35px #0006,0 0 20px #d4af370d}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.card-badge{font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .75rem;border-radius:4px}.category-badge.hope{background:#d4af3714;color:var(--color-hope);border:1px solid rgba(212,175,55,.2)}.category-badge.love{background:#f2858514;color:var(--color-love);border:1px solid rgba(242,133,133,.2)}.category-badge.loss{background:#a6b1e114;color:var(--color-loss);border:1px solid rgba(166,177,225,.2)}.category-badge.wisdom{background:#d9a05b14;color:var(--color-wisdom);border:1px solid rgba(217,160,91,.2)}.card-location{font-size:.7rem;letter-spacing:.05em;color:#a09e9a80;text-transform:uppercase}.card-title{font-family:var(--font-serif);font-size:1.4rem;line-height:1.3;font-weight:400;margin-bottom:.75rem;color:var(--text-primary)}.card-excerpt{font-size:.9rem;font-weight:300;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.read-btn{align-self:flex-start;background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);padding:.5rem 1.25rem;border-radius:100px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:.5rem}.recommended-story-card:hover .read-btn{border-color:var(--gold);color:var(--gold-light);background:#d4af370a}.btn-arrow{transition:transform .25s ease}.recommended-story-card:hover .btn-arrow{transform:translate(3px)}.reset-container{display:flex;justify-content:center;margin-top:1rem;animation:fade-in 1s ease forwards}.reset-search-btn{background:transparent;border:1px dashed rgba(212,175,55,.3);color:var(--gold-light);padding:.75rem 2rem;border-radius:100px;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:var(--transition-smooth)}.reset-search-btn:hover{border-style:solid;border-color:var(--gold);background:#d4af370a;box-shadow:0 4px 15px #d4af3714}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#040404d9;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-card{background:#0c0c0ce6;border:1px solid var(--gold-border);border-radius:24px;max-width:650px;width:90%;padding:3.5rem;position:relative;overflow:hidden;box-shadow:0 30px 70px #000000e6,0 0 50px #d4af370d;transform:scale(.9) translateY(20px);transition:transform .5s cubic-bezier(.16,1,.3,1)}.modal-overlay.active .modal-card{transform:scale(1) translateY(0)}.modal-glow-bg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.close-btn{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:2.2rem;cursor:pointer;transition:var(--transition-fast);z-index:10;line-height:1}.close-btn:hover{color:var(--text-primary);transform:rotate(90deg)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;position:relative;z-index:2}.modal-location{font-size:.8rem;letter-spacing:.15em;color:#a09e9a99;text-transform:uppercase}.modal-title{font-family:var(--font-serif);font-size:2.5rem;font-weight:400;line-height:1.25;color:var(--text-primary);margin-bottom:.75rem;position:relative;z-index:2}.modal-author{font-family:var(--font-sans);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:2.5rem;position:relative;z-index:2}.modal-body{position:relative;z-index:2;max-height:250px;overflow-y:auto;padding-right:1rem;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.2) transparent;margin-bottom:2.5rem}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:2px}.modal-body p{font-family:var(--font-sans);font-size:1.05rem;font-weight:300;color:var(--text-primary);line-height:1.8;margin-bottom:1.5rem}.modal-footer{position:relative;z-index:2;display:flex;flex-direction:column;gap:1.25rem;border-top:1px solid rgba(255,255,255,.05);padding-top:1.75rem}.read-full-btn{background:transparent;border:1px solid var(--gold-border);color:var(--gold-light);padding:.85rem;border-radius:100px;font-size:.75rem;font-family:var(--font-sans);font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:var(--transition-smooth)}.read-full-btn:hover{border-color:var(--gold);background:#d4af370d;box-shadow:0 5px 20px #d4af3726}.sound-prompt-btn{background:#ffffff05;border:1px solid rgba(255,255,255,.08);color:var(--text-primary);padding:.85rem;border-radius:100px;cursor:pointer;font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:var(--transition-smooth)}.sound-prompt-btn:hover{border-color:var(--gold);background:#d4af3708}@keyframes fade-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes message-fade{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.site-header{padding:2rem}.main-headline{font-size:3rem}.page-container{padding:7.5rem 2rem 3rem}}@media (max-width: 768px){.site-header{flex-direction:column;gap:1rem;padding:1.5rem;background:#040404f2}.main-nav{width:100%;justify-content:center;gap:2rem}.main-headline{font-size:2.3rem}.subheadline{font-size:.95rem}.chat-container{padding:1.5rem;min-height:450px}.modal-card{padding:2rem 1.5rem}.modal-title{font-size:1.8rem}.message{max-width:95%}}
