:root{--deep:#1a0212;--mid:#3d0a2a;--fluid:#6b1045;--glow:#f472b6;--foam:#fbb6d4;--light:#fde8f0;--muted:#fde8f08c}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--deep);color:var(--light);min-height:100vh;font-family:Cormorant Garamond,serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.fluid-layer{pointer-events:none;z-index:0;border-radius:60% 40% 55% 45%/45% 55% 40% 60%;animation:12s ease-in-out infinite alternate morph;position:fixed;inset:-20%}.fluid-layer:first-child{background:radial-gradient(at 30% 40%,#6b10458c 0%,#0000 65%);animation-duration:14s}.fluid-layer:nth-child(2){background:radial-gradient(at 70% 60%,#3d0a2a66 0%,#0000 60%);animation-duration:10s;animation-direction:alternate-reverse}.fluid-layer:nth-child(3){background:radial-gradient(at 50% 20%,#f472b612 0%,#0000 50%);animation-duration:18s}@keyframes morph{0%{border-radius:60% 40% 55% 45%/45% 55% 40% 60%;transform:rotate(-3deg)scale(1)}50%{border-radius:40% 60% 45% 55%/60% 40% 55% 45%;transform:rotate(2deg)scale(1.04)}to{border-radius:55% 45% 60% 40%/50% 60% 40% 50%;transform:rotate(-1deg)scale(.98)}}.vignette{pointer-events:none;z-index:1;background:radial-gradient(#0000 40%,#021a1fd9 100%);position:fixed;inset:0}canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0}.label{letter-spacing:.4em;text-transform:uppercase;color:var(--glow);opacity:.8;margin-bottom:1.4rem;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:200}.divider{background:linear-gradient(90deg, transparent, var(--glow), transparent);width:40px;height:1px;margin:1.4rem auto}.input-wrap{max-width:560px;margin:2rem auto;position:relative}.input-wrap textarea,.input-wrap input{-webkit-backdrop-filter:blur(12px);width:100%;color:var(--light);letter-spacing:.02em;resize:none;background:#ffc8dc12;border:1px solid #f472b62e;border-radius:16px;outline:none;padding:1.2rem 1.4rem;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:300;line-height:1.8;transition:border-color .4s,background .4s,box-shadow .4s}.input-wrap textarea::placeholder,.input-wrap input::placeholder{color:#fde8f04d;font-style:italic}.input-wrap textarea:focus,.input-wrap input:focus{background:#ffc8dc1c;border-color:#f472b661;box-shadow:0 0 0 3px #f472b614}.btn{color:#fde8f0b3;letter-spacing:.35em;text-transform:uppercase;cursor:pointer;background:#f472b61a;border:1px solid #f472b638;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.6rem;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:300;transition:background .35s,border-color .35s,color .35s,transform .2s;display:inline-flex}.btn:hover{color:#fde8f0f2;background:#f472b62e;border-color:#f472b666}.btn:active{transform:scale(.97)}.btn.danger{color:#fdc8c8b3;background:#f452521a;border-color:#f4525238}.btn.danger:hover{color:#fdc8c8f2;background:#f4525233;border-color:#f4525266}.btn.solid{color:var(--foam);background:#f472b638;border-color:#f472b666}.stored-feedback{flex-direction:column;align-items:center;gap:.5rem;animation:.4s forwards stored-appear;display:flex}@keyframes stored-appear{0%{opacity:0;transform:translateY(6px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.stored-logo{letter-spacing:.08em;color:var(--foam);font-family:Cormorant Garamond,serif;font-size:2.2rem;font-weight:300;animation:1.6s ease-in-out infinite logo-pulse}@keyframes logo-pulse{0%,to{opacity:.6;text-shadow:0 0 #f472b600}50%{opacity:1;text-shadow:0 0 28px #f472b68c}}.stored-label{letter-spacing:.45em;text-transform:uppercase;color:#fbb6d48c;font-family:Raleway,sans-serif;font-size:.6rem;font-weight:200}.topic-back{z-index:10;letter-spacing:.35em;text-transform:uppercase;color:#fde8f040;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:200;transition:color .4s;position:fixed;top:1.8rem;left:2rem}.topic-back:hover{color:#fde8f0b3}.topic-page section{justify-content:center;align-items:center;height:100vh;display:flex}.text-block{text-align:center;opacity:0;will-change:opacity, transform;max-width:680px;padding:2rem;transition:opacity .7s,transform .7s;transform:translateY(18px)scale(.98)}.text-block.visible{opacity:1;transform:translateY(0)scale(1)}.text-block.fading-out{opacity:0;transform:translateY(-18px)scale(1.01)}.text-block h2{color:var(--light);letter-spacing:-.01em;margin-bottom:1.2rem;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:300;line-height:1.15}.text-block h2 em{color:var(--foam);font-style:italic}.text-block p{color:#d4f5f0bf;letter-spacing:.02em;font-size:clamp(.95rem,2vw,1.15rem);font-weight:300;line-height:1.9}.scroll-hint{z-index:10;flex-direction:column;align-items:center;gap:.5rem;transition:opacity .6s;display:flex;position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-hint span{letter-spacing:.35em;text-transform:uppercase;color:#3ad8c880;font-family:Raleway,sans-serif;font-size:.6rem}.scroll-hint .line{background:linear-gradient(#f472b680,#0000);width:1px;height:40px;animation:1.8s ease-in-out infinite drip}@keyframes drip{0%{transform-origin:top;opacity:0;transform:scaleY(0)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}to{transform-origin:bottom;opacity:0;transform:scaleY(1)}}.home-page{z-index:2;flex-direction:column;align-items:center;gap:3rem;min-height:100vh;padding:4rem 2rem;display:flex;position:relative}.home-header{text-align:center}.home-header h1{letter-spacing:-.02em;font-size:clamp(3rem,8vw,6rem);font-weight:300;line-height:1.05}.home-header p{letter-spacing:.35em;text-transform:uppercase;color:var(--glow);opacity:.7;margin-top:1rem;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:200}.music-player{z-index:100;-webkit-backdrop-filter:blur(18px);background:#1a0212bf;border:1px solid #f472b626;border-radius:18px;width:220px;padding:1.1rem 1.3rem;transition:width .35s,padding .35s,border-radius .35s;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 32px #00000059}.music-player.collapsed{width:auto;box-shadow:none;background:0 0;border-color:#0000;padding:0}.mp-toggle{-webkit-backdrop-filter:blur(18px);color:#fbb6d48c;cursor:pointer;background:#1a0212bf;border:1px solid #f472b62e;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;transition:color .3s,border-color .3s;display:flex;box-shadow:0 4px 20px #0000004d}.mp-toggle:hover{color:#fbb6d4e6;border-color:#f472b661}.mp-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.9rem;display:flex}.mp-title{color:var(--foam);flex:1;font-family:Cormorant Garamond,serif;font-size:.9rem;font-style:italic;font-weight:300;line-height:1.35}.mp-close{color:#fde8f040;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.1rem;line-height:1;transition:color .25s}.mp-close:hover{color:#fde8f0a6}.mp-bar{cursor:pointer;background:#f472b61f;border-radius:999px;height:2px;margin-bottom:.85rem;position:relative;overflow:hidden}.mp-fill{background:linear-gradient(90deg, var(--fluid), var(--glow));pointer-events:none;border-radius:999px;height:100%;transition:width .4s linear}.mp-controls{align-items:center;gap:.25rem;display:flex}.mp-btn{color:#fde8f073;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem .4rem;font-size:1.1rem;line-height:1;transition:color .25s,background .25s}.mp-btn:hover{color:#fde8f0e6;background:#f472b614}.mp-playpause{color:#fbb6d4b3;border:1px solid #f472b633;border-radius:999px;padding:.35rem .55rem;font-size:.85rem}.mp-playpause:hover{color:var(--foam);background:#f472b61a;border-color:#f472b673}.mp-index{letter-spacing:.25em;color:#fde8f040;margin-left:auto;font-family:Raleway,sans-serif;font-size:.55rem;font-weight:200}.feeling-search{flex-direction:column;align-items:center;gap:1.2rem;width:100%;display:flex}.feeling-prompt{color:var(--foam);letter-spacing:.01em;opacity:.85;font-family:Cormorant Garamond,serif;font-size:clamp(1.3rem,3vw,1.9rem);font-weight:300}.feeling-empty{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-family:Raleway,sans-serif;font-size:.7rem;font-weight:200}.topic-card-tags{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.topic-tag-match{letter-spacing:.25em;text-transform:uppercase;color:#fbb6d4b3;background:#f472b612;border:1px solid #f472b64d;border-radius:999px;padding:.2rem .65rem;font-family:Raleway,sans-serif;font-size:.55rem;font-weight:300}.tag-pills{background:#ffc8dc0d;border:1px solid #f472b626;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:2.8rem;padding:.6rem .8rem;display:flex}.tag-pill{letter-spacing:.2em;text-transform:lowercase;color:#fbb6d4d9;background:#f472b614;border:1px solid #f472b64d;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .7rem .25rem .9rem;font-family:Raleway,sans-serif;font-size:.6rem;font-weight:300;display:inline-flex}.tag-remove{color:#fbb6d480;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;line-height:1;transition:color .2s}.tag-remove:hover{color:#fbb6d4}.tag-input{color:var(--light);background:0 0;border:none;outline:none;flex:1;min-width:140px;padding:.1rem .2rem;font-family:Cormorant Garamond,serif;font-size:.95rem;font-weight:300}.tag-input::placeholder{color:#fde8f033;font-style:italic}.home-footer{align-items:center;gap:1.5rem;margin-top:1rem;display:flex}.leave-link{letter-spacing:.4em;text-transform:uppercase;color:#fde8f033;font-family:Raleway,sans-serif;font-size:.6rem;font-weight:200;transition:color .5s}.leave-link:hover{color:#fde8f080}.topics-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;width:100%;max-width:960px;display:grid}.topic-card{cursor:pointer;background:#ffc8dc0a;border:1px solid #f472b61f;border-radius:20px;padding:2rem;transition:background .35s,border-color .35s,transform .25s}.topic-card:hover{background:#ffc8dc14;border-color:#f472b647;transform:translateY(-3px)}.topic-card h3{color:var(--light);margin-bottom:.6rem;font-size:1.4rem;font-weight:300}.topic-card p{color:var(--muted);font-size:.9rem;line-height:1.7}.auth-page{z-index:2;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.auth-card{text-align:center;background:#ffc8dc0a;border:1px solid #f472b624;border-radius:24px;width:100%;max-width:420px;padding:3rem 2.5rem}.auth-card h1{margin-bottom:.5rem;font-size:2.5rem;font-weight:300}.auth-card .subtitle{letter-spacing:.35em;text-transform:uppercase;color:var(--glow);opacity:.7;margin-bottom:2.5rem;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:200}.auth-card form{flex-direction:column;align-items:center;gap:1rem;display:flex}.auth-card form .input-wrap{width:100%;margin:0}.auth-card form .input-wrap input{border-radius:12px;padding:.9rem 1.2rem}.auth-error{letter-spacing:.1em;color:#ff9696cc;margin-top:.5rem;font-family:Raleway,sans-serif;font-size:.7rem}.auth-link{letter-spacing:.2em;color:var(--muted);margin-top:1.5rem;font-family:Raleway,sans-serif;font-size:.65rem}.auth-link a{color:var(--foam);text-underline-offset:3px;text-decoration:underline}.admin-layout{z-index:2;min-height:100vh;display:flex;position:relative}.admin-sidebar{background:#ffc8dc08;border-right:1px solid #f472b61a;flex-direction:column;flex-shrink:0;gap:.5rem;width:220px;padding:2.5rem 1.5rem;display:flex}.admin-sidebar .brand{letter-spacing:.08em;color:var(--foam);margin-bottom:2rem;font-size:1.2rem;font-weight:300}.admin-sidebar a{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);border-radius:8px;padding:.6rem .8rem;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:200;transition:background .25s,color .25s}.admin-sidebar a:hover,.admin-sidebar a.active{color:var(--foam);background:#f472b614}.admin-main{flex:1;padding:2.5rem 3rem;overflow-y:auto}.admin-main h1{margin-bottom:2rem;font-size:2rem;font-weight:300}.admin-main h2{margin-bottom:1.2rem;font-size:1.3rem;font-weight:300}.topic-list{flex-direction:column;gap:.75rem;display:flex}.topic-row{background:#ffc8dc0a;border:1px solid #f472b61a;border-radius:14px;align-items:center;gap:1rem;padding:1rem 1.4rem;display:flex}.topic-row .title{flex:1;font-size:1.1rem;font-weight:300}.topic-row .slug{letter-spacing:.2em;color:var(--muted);font-family:Raleway,sans-serif;font-size:.6rem}.badge{letter-spacing:.25em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:.2rem .7rem;font-family:Raleway,sans-serif;font-size:.55rem}.badge.published{color:#64dc96b3;border-color:#64dc964d}.badge.draft{color:#f472b680;border-color:#f472b633}.edit-form{flex-direction:column;gap:1.2rem;max-width:620px;display:flex}.field{flex-direction:column;gap:.4rem;display:flex}.field label{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-family:Raleway,sans-serif;font-size:.6rem}.field input,.field textarea,.field select{color:var(--light);resize:vertical;background:#ffc8dc0d;border:1px solid #f472b626;border-radius:10px;outline:none;padding:.75rem 1rem;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:300;transition:border-color .3s,background .3s}.field input:focus,.field textarea:focus,.field select:focus{background:#ffc8dc17;border-color:#f472b659}.field select option{background:var(--mid)}.field .check-row{color:var(--muted);align-items:center;gap:.6rem;font-size:.9rem;display:flex}.field .check-row input[type=checkbox]{accent-color:var(--glow)}.sections-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.section-card{background:#ffc8dc0a;border:1px solid #f472b61a;border-radius:14px;padding:1.2rem 1.4rem}.section-card-header{align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.section-card-header .stype{letter-spacing:.3em;text-transform:uppercase;color:var(--glow);opacity:.7;font-family:Raleway,sans-serif;font-size:.55rem}.section-card-header .stitle{flex:1;font-size:1rem;font-weight:300}.section-actions{gap:.5rem;display:flex}
