@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{--color-base:#1a2e1a;--color-base-light:#243524;--color-accent:#4a1942;--color-accent-light:#5e2456;--color-highlight:#d4a0a0;--color-glow:#c8956c;--color-text:#f5f0e8;--color-text-muted:#b8b0a4;--color-card-bg:#1e321ed9;--color-card-border:#4a194266;--color-card-header:#4a194240;--color-input-bg:#1a2e1a99;--color-input-border:#d4a0a04d;--color-checkbox:var(--color-highlight);--color-danger:#c47070;--font-display:"Playfair Display", Georgia, serif;--font-body:"Lora", Georgia, serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--shadow-card:0 2px 16px #0000004d;--shadow-glow:0 0 20px #c8956c4d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-base);color:var(--color-text);min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.3}a{color:var(--color-highlight);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-glow);text-shadow:0 0 8px #c8956c4d}button{font-family:var(--font-body);cursor:pointer;color:var(--color-text);font-size:var(--font-size-base);background:0 0;border:none}input,textarea,select{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);outline:none;width:100%;transition:border-color .3s,box-shadow .3s}input:focus,textarea:focus,select:focus{border-color:var(--color-highlight);box-shadow:0 0 0 3px #d4a0a01f,0 0 12px #d4a0a014}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-light)}#root{min-height:100vh;position:relative}.app{z-index:1;max-width:1200px;padding:var(--space-md);padding-bottom:var(--space-2xl);margin:0 auto;animation:.8s both pageIn;position:relative}.layer{margin-bottom:var(--space-xl)}.layer-grid{gap:var(--space-md);display:grid}.layer-label{font-family:var(--font-display);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-muted);opacity:.4;text-align:center;margin-bottom:var(--space-md)}.all-done{text-align:center;padding:var(--space-md) 0;color:var(--color-glow);font-style:italic;font-size:var(--font-size-sm);animation:2s ease-in-out infinite allDoneGlow}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes allDoneGlow{0%,to{opacity:.6;text-shadow:none}50%{opacity:1;text-shadow:0 0 12px #c8956c4d}}.moth-watermark{pointer-events:none;z-index:0;animation:8s ease-in-out infinite mothFloat;position:fixed;bottom:20px;right:20px}@keyframes mothFloat{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-4px)rotate(1deg)}75%{transform:translateY(4px)rotate(-1deg)}}@media (width>=768px){.app{padding:var(--space-xl)}.layer-grid{grid-template-columns:1fr 1fr}}.the-glance{text-align:center;padding:var(--space-2xl) var(--space-lg) var(--space-xl);margin-bottom:var(--space-xl);position:relative}.glance-moth{pointer-events:none;z-index:0;animation:8s ease-in-out infinite mothFloatGlance;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.glance-greeting{font-family:var(--font-display);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.2em;color:var(--color-glow);margin-bottom:var(--space-sm);z-index:1;opacity:0;animation:1s .2s forwards glanceIn;position:relative}.glance-date{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--color-highlight);margin-bottom:var(--space-lg);letter-spacing:.02em;z-index:1;opacity:0;font-weight:400;animation:1s .4s forwards glanceIn;position:relative}.glance-moon{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);z-index:1;opacity:0;flex-direction:column;animation:1s .6s forwards glanceIn;display:flex;position:relative}.glance-moon.moon-day{animation:1s .6s forwards glanceIn,3s ease-in-out 1.6s infinite moonGlow}.moon-name{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-text);font-style:italic}.moon-alert{font-size:var(--font-size-sm);color:var(--color-glow);font-style:italic;animation:2s ease-in-out infinite softPulse}.glance-affirmation{max-width:520px;margin:0 auto var(--space-xl);padding:var(--space-lg) var(--space-xl);z-index:1;opacity:0;animation:1.2s .9s forwards glanceIn;position:relative}.glance-affirmation p{font-family:var(--font-body);font-size:var(--font-size-lg);color:var(--color-text);opacity:.9;font-style:italic;line-height:1.8}.glance-affirmation:before,.glance-affirmation:after{content:"";background:linear-gradient(to right, transparent, var(--color-highlight), transparent);width:60px;height:1px;margin:0 auto;transition:width .6s;display:block}.glance-affirmation:hover:before,.glance-affirmation:hover:after{width:100px}.glance-affirmation:before{margin-bottom:var(--space-md)}.glance-affirmation:after{margin-top:var(--space-md)}.glance-next-event{align-items:center;gap:var(--space-xs);z-index:1;opacity:0;flex-direction:column;animation:1s 1.2s forwards glanceIn;display:flex;position:relative}.event-type{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted)}.event-type.sabbat{color:var(--color-glow)}.event-name{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-highlight)}.event-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}@keyframes glanceIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes moonGlow{0%,to{filter:drop-shadow(0 0 8px #c8956c33)}50%{filter:drop-shadow(0 0 24px #c8956c99)}}@keyframes softPulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes mothFloatGlance{0%,to{transform:translate(-50%,-50%)rotate(0)}25%{transform:translate(-50%,-52%)rotate(1deg)}75%{transform:translate(-50%,-48%)rotate(-1deg)}}@media (width>=768px){.glance-date{font-size:var(--font-size-2xl)}.glance-affirmation p{font-size:var(--font-size-xl)}}.collapsible-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow .4s,transform .3s,border-color .4s;animation:.6s both cardFadeIn;overflow:hidden}.collapsible-card:hover{box-shadow:var(--shadow-card), 0 4px 20px #0003;border-color:#d4a0a040;transform:translateY(-2px)}.collapsible-card.open{border-color:#d4a0a033}.collapsible-card.glow.glow-moon{animation:3s ease-in-out infinite cardGlowMoon,.6s both cardFadeIn}.collapsible-card.glow.glow-soft{animation:4s ease-in-out infinite cardGlowSoft,.6s both cardFadeIn}.collapsible-card.glow.open{animation:.6s both cardFadeIn}.layer-grid>:first-child .collapsible-card,.layer-grid>:first-child{animation-delay:.1s}.layer-grid>:nth-child(2){animation-delay:.2s}.layer-grid>:nth-child(3){animation-delay:.3s}.layer-grid>:nth-child(4){animation-delay:.4s}.layer-grid>:nth-child(5){animation-delay:.5s}.layer-grid>:nth-child(6){animation-delay:.6s}.layer-grid>:nth-child(7){animation-delay:.7s}.card-header{width:100%;padding:var(--space-md) var(--space-lg);background:var(--color-card-header);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;transition:background .3s;display:flex}.card-header:hover{background:#4a194259}.card-header:active{background:#4a194273}.card-title{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-highlight);margin:0;font-weight:600;transition:color .3s}.collapsible-card.open .card-title{color:var(--color-glow)}.card-chevron{color:var(--color-text-muted);font-size:var(--font-size-sm);transition:transform .4s cubic-bezier(.34,1.56,.64,1),color .3s}.collapsible-card.open .card-chevron{color:var(--color-glow);transform:rotate(0)}.card-content{max-height:0;transition:max-height .5s cubic-bezier(.4,0,.2,1);overflow:hidden}.card-content-inner{padding:var(--space-lg);animation:.3s .1s both contentReveal}.collapsible-card:not(.open) .card-content-inner{animation:none}.card-add-form{gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.card-add-form input{flex:1}.card-add-btn{padding:var(--space-sm) var(--space-md);background:var(--color-accent);color:var(--color-text);border-radius:var(--radius-md);font-size:var(--font-size-sm);white-space:nowrap;transition:background .2s,transform .15s,box-shadow .2s}.card-add-btn:hover{background:var(--color-accent-light);box-shadow:0 0 12px #4a194266}.card-add-btn:active{transform:scale(.96)}.checklist-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xs);border-radius:var(--radius-sm);border-bottom:1px solid #4a194226;transition:background .2s;display:flex}.checklist-item:last-child{border-bottom:none}.checklist-item:hover{background:#4a194214}.checklist-item input[type=checkbox]{appearance:none;cursor:pointer;border:2px solid #d4a0a066;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:border-color .3s,background .3s,box-shadow .3s;position:relative}.checklist-item input[type=checkbox]:hover{border-color:var(--color-highlight);box-shadow:0 0 8px #d4a0a033}.checklist-item input[type=checkbox]:checked{background:var(--color-highlight);border-color:var(--color-highlight);animation:.35s cubic-bezier(.34,1.56,.64,1) checkPop;box-shadow:0 0 12px #d4a0a066}.checklist-item input[type=checkbox]:checked:after{content:"✓";color:var(--color-base);font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checklist-item.checked label{opacity:.45;text-decoration:line-through;transition:opacity .4s}.checklist-item label{cursor:pointer;font-size:var(--font-size-base);flex:1;transition:opacity .3s}.checklist-item .item-delete{color:var(--color-text-muted);font-size:var(--font-size-base);opacity:0;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);line-height:1;transition:opacity .2s,color .2s,transform .15s}.checklist-item:hover .item-delete{opacity:.5}.checklist-item .item-delete:hover{opacity:1;color:var(--color-danger);background:#c470701a}.checklist-item .item-delete:active{transform:scale(.9)}.checklist-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);padding-left:var(--space-sm);white-space:nowrap;margin-left:auto}.clear-completed-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;border-radius:var(--radius-md);width:100%;transition:color .2s,background .2s;display:block}.clear-completed-btn:hover{color:var(--color-highlight);background:#d4a0a00f}.clear-completed-btn:active{transform:scale(.98)}.empty-state{text-align:center;padding:var(--space-xl) var(--space-lg);color:var(--color-text-muted);font-style:italic;font-size:var(--font-size-sm);animation:.5s fadeIn}@keyframes cardGlowMoon{0%,to{box-shadow:var(--shadow-card), 0 0 15px #c8956c26}50%{box-shadow:var(--shadow-card), 0 0 30px #c8956c59}}@keyframes cardGlowSoft{0%,to{box-shadow:var(--shadow-card), 0 0 8px #d4a0a014;border-color:#d4a0a026}50%{box-shadow:var(--shadow-card), 0 0 16px #d4a0a02e;border-color:#d4a0a04d}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes contentReveal{0%{opacity:0}to{opacity:1}}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card-customizer-toggle{border:1px solid var(--color-highlight,#d4a0a0);color:var(--color-highlight,#d4a0a0);letter-spacing:.05em;cursor:pointer;opacity:.6;background:0 0;border-radius:6px;margin:2rem auto 1rem;padding:.5rem 1rem;font-family:Lora,serif;font-size:.8rem;transition:opacity .3s,border-color .3s;display:block}.card-customizer-toggle:hover{opacity:1;border-color:var(--color-glow,#c8956c);color:var(--color-glow,#c8956c)}.card-customizer-panel{border:1px solid var(--color-accent,#4a1942);background:#1a2e1ad9;border-radius:10px;max-width:600px;margin:0 auto 2rem;padding:1.25rem}.card-customizer-panel h3{color:var(--color-glow,#c8956c);text-align:center;margin:0 0 1rem;font-family:Playfair Display,serif;font-size:1rem;font-weight:400}.card-customizer-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-highlight,#d4a0a0);opacity:.7;margin:.75rem 0 .4rem;font-family:Lora,serif;font-size:.7rem}.card-customizer-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;display:grid}.card-customizer-item{cursor:pointer;background:#4a194233;border:1px solid #0000;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .6rem;transition:background .2s,border-color .2s;display:flex}.card-customizer-item:hover{border-color:var(--color-accent,#4a1942);background:#4a194259}.card-customizer-item.hidden{opacity:.45}.card-customizer-eye{width:18px;height:18px;color:var(--color-glow,#c8956c);flex-shrink:0;transition:color .2s}.card-customizer-item.hidden .card-customizer-eye{color:var(--color-text,#f5f0e8);opacity:.35}.card-customizer-label{color:var(--color-text,#f5f0e8);font-family:Lora,serif;font-size:.85rem}.chores{flex-direction:column;gap:.4rem;display:flex}.project-form{gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-card-border);flex-direction:column;display:flex}.project-form-actions{gap:var(--space-sm);display:flex}.project-item{padding:var(--space-sm) 0;border-bottom:1px solid #4a194226}.project-item:last-child{border-bottom:none}.project-item.checked{opacity:.5}.project-header{align-items:center;gap:var(--space-sm);display:flex}.project-header input[type=checkbox]{appearance:none;cursor:pointer;border:2px solid #d4a0a066;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:border-color .3s,background .3s,box-shadow .3s;position:relative}.project-header input[type=checkbox]:hover{border-color:var(--color-highlight);box-shadow:0 0 8px #d4a0a033}.project-header input[type=checkbox]:checked{background:var(--color-highlight);border-color:var(--color-highlight);box-shadow:0 0 12px #d4a0a066}.project-header input[type=checkbox]:checked:after{content:"✓";color:var(--color-base);font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-item .item-delete{color:var(--color-text-muted);font-size:var(--font-size-base);opacity:0;padding:var(--space-xs) var(--space-sm);line-height:1;transition:opacity .2s,color .2s}.project-item:hover .item-delete{opacity:.5}.project-item .item-delete:hover{opacity:1;color:var(--color-danger)}.project-info{flex-direction:column;flex:1;display:flex}.project-desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}.project-status{font-size:var(--font-size-xs);padding:3px var(--space-sm);border-radius:var(--radius-md);white-space:nowrap;transition:transform .2s}.project-status:hover{transform:scale(1.05)}.status-in-progress{color:var(--color-glow);background:#c8956c33}.status-waiting-on-client{color:var(--color-highlight);background:#d4a0a033}.status-review{color:var(--color-highlight);background:#4a19424d}.status-almost-done{color:#8cb880;background:#4a67414d}.manifesting-add{margin-bottom:var(--space-md)}.manifesting-form{gap:var(--space-sm);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-card-border);flex-direction:column;display:flex}.manifesting-form textarea{resize:vertical;min-height:120px}.manifesting-index{margin-bottom:var(--space-xl);padding:var(--space-md);border-radius:var(--radius-md);background:#1a2e1a66;border:1px solid #d4a0a026}.manifesting-index-label{font-family:var(--font-display);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.15em;margin-bottom:var(--space-sm);display:block}.manifesting-index-item{padding:var(--space-xs) 0;color:var(--color-highlight);font-size:var(--font-size-sm);text-align:left;transition:color var(--transition-fast);font-style:italic;display:block}.manifesting-index-item:hover{color:var(--color-glow)}.manifesting-entry{margin-bottom:var(--space-xl)}.manifesting-entry-border{padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-md);background:#1a2e1a4d;border:1px solid #d4a0a033;transition:border-color .4s,box-shadow .4s;position:relative}.manifesting-entry-border:hover{border-color:#d4a0a04d;box-shadow:0 0 20px #c8956c0f}.manifesting-corner{border-color:var(--color-glow);opacity:.4;width:16px;height:16px;transition:opacity .4s,width .3s,height .3s;position:absolute}.manifesting-entry-border:hover .manifesting-corner{opacity:.7;width:20px;height:20px}.manifesting-corner.tl{border-top:2px solid;border-left:2px solid;border-top-left-radius:4px;top:-1px;left:-1px}.manifesting-corner.tr{border-top:2px solid;border-right:2px solid;border-top-right-radius:4px;top:-1px;right:-1px}.manifesting-corner.bl{border-bottom:2px solid;border-left:2px solid;border-bottom-left-radius:4px;bottom:-1px;left:-1px}.manifesting-corner.br{border-bottom:2px solid;border-right:2px solid;border-bottom-right-radius:4px;bottom:-1px;right:-1px}.manifesting-entry-title{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--color-highlight);text-align:center;margin-bottom:var(--space-sm)}.manifesting-divider{margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.manifesting-divider:before,.manifesting-divider:after{content:"";background:linear-gradient(to right, transparent, var(--color-highlight), transparent);opacity:.3;flex:1;height:1px}.manifesting-entry-body{text-align:center}.manifesting-entry-body p{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--color-text);opacity:.9;line-height:1.9}.manifesting-entry-actions{justify-content:center;gap:var(--space-md);margin-top:var(--space-lg);display:flex}.manifesting-entry-actions button{font-size:var(--font-size-xs);color:var(--color-text-muted);opacity:.4;transition:opacity var(--transition-fast), color var(--transition-fast)}.manifesting-entry-actions button:hover{opacity:1;color:var(--color-highlight)}.daily-card-section{text-align:center}.daily-card-label{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-highlight);margin-bottom:var(--space-lg)}.tarot-card{width:180px;height:280px;margin:0 auto var(--space-lg);perspective:800px;cursor:pointer;position:relative}.tarot-face{border-radius:var(--radius-lg);backface-visibility:hidden;transition:transform .8s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;box-shadow:0 4px 20px #0006}.tarot-back{background:linear-gradient(135deg,#1a2e1a 0%,#2a1a2e 50%,#1a2e1a 100%);border:2px solid #c8956c4d;justify-content:center;align-items:center;display:flex;transform:rotateY(0)}.tarot-back-design{width:100%;height:100%;padding:var(--space-md);justify-content:center;align-items:center;display:flex}.tarot-back-border{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-md);background:radial-gradient(#4a194233 0%,#0000 70%);border:1px solid #c8956c33;flex-direction:column;width:100%;height:100%;display:flex}.tarot-back-text{font-family:var(--font-display);font-size:var(--font-size-xs);color:var(--color-glow);text-transform:uppercase;letter-spacing:.2em;opacity:.6;animation:2s ease-in-out infinite softPulse}.tarot-front{padding:var(--space-md);background:linear-gradient(#1a2e1a 0%,#1e2a1e 40%,#2a1a2e 100%);border:2px solid #c8956c66;justify-content:center;align-items:center;display:flex;transform:rotateY(180deg)}.tarot-front-inner{align-items:center;gap:var(--space-sm);text-align:center;flex-direction:column;display:flex}.tarot-numeral{font-family:var(--font-display);font-size:var(--font-size-xs);color:var(--color-glow);letter-spacing:.2em;opacity:.6}.tarot-name{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--color-highlight);font-weight:600;line-height:1.2}.tarot-orientation{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-glow);text-transform:uppercase;letter-spacing:.15em}.tarot-divider{background:linear-gradient(to right, transparent, var(--color-glow), transparent);width:40px;height:1px;margin:var(--space-xs) 0}.tarot-meaning{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text);opacity:.85;font-style:italic;line-height:1.6}.tarot-card.revealed .tarot-back{transform:rotateY(-180deg)}.tarot-card.revealed .tarot-front{transform:rotateY(0)}.tarot-card.reversed .tarot-front{transform:rotateY(0)rotate(180deg)}.tarot-card:not(.revealed):hover .tarot-back{border-color:#c8956c80;box-shadow:0 4px 20px #0006,0 0 20px #c8956c26}.tarot-card:not(.revealed):active .tarot-back{transform:scale(.97)}.tarot-card.revealed .tarot-front{box-shadow:0 4px 24px #0006,0 0 20px #c8956c1f}.tarot-message{max-width:320px;padding:var(--space-md) var(--space-lg);margin:0 auto;animation:.8s .4s both messageReveal}.tarot-message p{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--color-text);opacity:.9;font-style:italic;line-height:1.7}@keyframes messageReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.moon-magic{gap:var(--space-xl);flex-direction:column;display:flex}.personal-affirmation{text-align:center;padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid #d4a0a026}.personal-affirmation.active{background:#c8956c0d;border-color:#c8956c66;animation:3s ease-in-out infinite affirmationGlow;box-shadow:0 0 20px #c8956c1a}@keyframes affirmationGlow{0%,to{box-shadow:0 0 15px #c8956c1a}50%{box-shadow:0 0 30px #c8956c40}}.personal-label{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-glow);margin-bottom:var(--space-md)}.personal-text p{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--color-text);opacity:.9;line-height:1.9}.personal-preview{color:var(--color-text-muted);font-style:italic;font-size:var(--font-size-sm)}.wheel-section{text-align:center}.wheel-label{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-highlight);margin-bottom:var(--space-md)}.wheel{max-width:300px;margin:0 auto}.wheel-svg{width:100%;height:auto}.wheel-dot-active{animation:2s ease-in-out infinite wheelDotPulse}@keyframes wheelDotPulse{0%,to{opacity:.8;r:6}50%{opacity:1;r:7}}.calendar{gap:var(--space-md);flex-direction:column;display:flex}.cal-nav{justify-content:space-between;align-items:center;display:flex}.cal-nav-btn{font-size:var(--font-size-xl);color:var(--color-highlight);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:color .2s,background .2s,transform .15s}.cal-nav-btn:hover{color:var(--color-glow);background:#c8956c14}.cal-nav-btn:active{transform:scale(.92)}.cal-month{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-text)}.cal-grid{border-radius:var(--radius-md);background:#4a19421a;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.cal-header-cell{padding:var(--space-xs);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;background:#1a2e1a80}.cal-cell{background:#1a2e1a4d;flex-direction:column;gap:1px;min-height:48px;padding:3px;display:flex}.cal-cell.empty{background:#1a2e1a26}.cal-cell.today{background:#c8956c1f;box-shadow:inset 0 0 0 1px #c8956c40}.cal-cell.today .cal-day{color:var(--color-glow);text-shadow:0 0 6px #c8956c4d;font-weight:700}.cal-day{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:1px 3px}.cal-event{text-overflow:ellipsis;white-space:nowrap;border-radius:2px;padding:1px 3px;font-size:8px;overflow:hidden}.cal-event.sabbat{color:var(--color-glow);background:#c8956c40}.cal-event.holiday{color:var(--color-highlight);background:#d4a0a033}.cal-event.personal{color:var(--color-text);background:#4a194259}.cal-event.birthday{color:var(--color-highlight);background:#d4a0a059}.cal-event.custom{color:var(--color-text);background:#4a194240}.cal-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.cal-add-form{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.cal-add-form input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.quick-links-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.quick-link-item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:#4a194226;border:1px solid #d4a0a01a;justify-content:space-between;align-items:center;transition:border-color .3s,background .3s,transform .2s,box-shadow .3s;display:flex}.quick-link-item:hover{border-color:var(--color-highlight);background:#4a194240;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.quick-link-item a{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.quick-link-item .item-delete{opacity:0;margin-left:var(--space-xs);transition:opacity .2s,color .2s}.quick-link-item:hover .item-delete{opacity:.5}.quick-link-item .item-delete:hover{opacity:1;color:var(--color-danger)}.budget-guard{text-align:center;padding:var(--space-xl) var(--space-lg)}.budget-guard p{color:var(--color-text-muted);margin-bottom:var(--space-lg);font-style:italic;font-size:var(--font-size-sm)}.budget{gap:var(--space-lg);flex-direction:column;display:flex}.budget-hide-btn{font-size:var(--font-size-xs);color:var(--color-text-muted);transition:color var(--transition-fast);align-self:flex-end}.budget-hide-btn:hover{color:var(--color-highlight)}.budget-section{padding-bottom:var(--space-md);border-bottom:1px solid #4a194233}.budget-section:last-child{border-bottom:none}.budget-label{font-family:var(--font-display);font-size:var(--font-size-base);color:var(--color-highlight);margin-bottom:var(--space-sm)}.budget-dates{font-size:var(--font-size-sm);color:var(--color-text-muted)}.budget-pay{font-size:var(--font-size-lg);margin-top:var(--space-xs)}.budget-bonus{font-size:var(--font-size-sm);color:var(--color-glow)}.budget-next{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.budget-countdown{color:var(--color-highlight);font-style:italic}.budget-bill{padding:var(--space-xs) 0;font-size:var(--font-size-sm);align-items:center;display:flex}.budget-bill span:first-child{flex:1}.budget-amount{text-align:right;min-width:60px;padding-right:var(--space-md)}.budget-due{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:40px}.budget-total{border-top:1px solid var(--color-card-border);margin-top:var(--space-sm);padding-top:var(--space-sm);font-weight:600}.budget-remaining{color:var(--color-glow);font-weight:600}.budget-subs{gap:var(--space-xs);flex-wrap:wrap;display:flex}.budget-progress{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.budget-sub-tag{font-size:var(--font-size-xs);padding:3px var(--space-sm);border-radius:var(--radius-md);color:var(--color-text-muted);background:#4a194240;align-items:center;gap:4px;transition:background .2s,color .2s;display:inline-flex}.budget-sub-tag:hover{color:var(--color-highlight);background:#4a194273}.sub-remove{font-size:var(--font-size-xs);color:var(--color-text-muted);opacity:0;padding:0 2px;line-height:1;transition:opacity .2s,color .2s}.budget-sub-tag:hover .sub-remove{opacity:.6}.sub-remove:hover{opacity:1;color:var(--color-danger)}.budget-add-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-sm);transition:color .2s}.budget-add-sub:hover{color:var(--color-highlight)}.budget-sub-form{gap:var(--space-sm);margin-top:var(--space-sm);align-items:center;display:flex}.budget-sub-form input{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);flex:1}.numerology{gap:var(--space-md);flex-direction:column;display:flex}.num-section{text-align:center;padding:var(--space-sm) 0}.num-number{font-family:var(--font-display);font-size:var(--font-size-3xl);color:var(--color-glow);margin-bottom:var(--space-xs);filter:drop-shadow(0 0 8px #c8956c4d);font-weight:700;line-height:1}.num-label{font-family:var(--font-display);font-size:var(--font-size-base);color:var(--color-highlight);margin-bottom:var(--space-sm)}.num-desc{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text);opacity:.85;max-width:400px;margin:0 auto;font-style:italic;line-height:1.7}.num-divider{background:linear-gradient(to right, transparent, var(--color-glow), transparent);width:40px;height:1px;margin:var(--space-xs) auto}.num-grid{justify-content:center;gap:var(--space-xl);display:flex}.num-mini{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.num-mini-number{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--color-glow);font-weight:600}.num-mini-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.num-anniversary{text-align:center;font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-xs);font-style:italic}.num-anniversary.glow{color:var(--color-glow);font-size:var(--font-size-base);animation:2s ease-in-out infinite anniversaryGlow}@keyframes anniversaryGlow{0%,to{text-shadow:0 0 8px #c8956c4d}50%{text-shadow:0 0 20px #c8956c99}}.crystal-otd{text-align:center;padding:var(--space-md) 0}.crystal-gem{margin-bottom:var(--space-sm);filter:drop-shadow(0 0 10px #c8956c4d);font-size:2.5rem;animation:4s ease-in-out infinite crystalFloat}.crystal-name{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--color-highlight);margin-bottom:var(--space-sm);font-weight:600}.crystal-meaning{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text);opacity:.85;max-width:380px;margin:0 auto;font-style:italic;line-height:1.8}@keyframes crystalFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.dream-journal{gap:var(--space-md);flex-direction:column;display:flex}.dream-input-wrap{gap:var(--space-sm);flex-direction:column;display:flex}.dream-input{resize:vertical;min-height:60px;font-style:italic;line-height:1.7}.dream-entries{gap:var(--space-sm);flex-direction:column;display:flex}.dream-entry{padding:var(--space-sm) var(--space-md);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:2px solid #c8956c33;transition:border-color .3s,background .2s;position:relative}.dream-entry:hover{background:#8b2a750f;border-color:#c8956c80}.dream-date{font-size:var(--font-size-xs);color:var(--color-glow);font-family:var(--font-display);letter-spacing:.05em}.dream-text{font-size:var(--font-size-sm);color:var(--color-text);opacity:.85;margin-top:var(--space-xs);line-height:1.7}.dream-delete{top:var(--space-sm);right:var(--space-sm);opacity:0;position:absolute}.dream-entry:hover .dream-delete{opacity:.5}.gratitude-jar{gap:var(--space-md);flex-direction:column;display:flex}.jar-shake-btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);color:var(--color-glow);font-family:var(--font-display);font-size:var(--font-size-sm);letter-spacing:.05em;background:#c8956c1a;border:1px solid #c8956c40;align-self:center;transition:background .3s,border-color .3s,transform .2s,box-shadow .3s}.jar-shake-btn:hover{background:#c8956c2e;border-color:#c8956c66;box-shadow:0 0 16px #c8956c26}.jar-shake-btn:active{animation:.4s jarShake;transform:scale(.96)}.jar-reveal{text-align:center;padding:var(--space-lg);border-radius:var(--radius-md);cursor:pointer;background:#c8956c0d;border:1px solid #c8956c33;animation:.5s jarRevealIn}.jar-reveal-text{font-family:var(--font-body);font-size:var(--font-size-lg);color:var(--color-text);opacity:.9;font-style:italic;line-height:1.7}.jar-reveal-date{margin-top:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}@keyframes jarShake{0%,to{transform:rotate(0)}20%{transform:rotate(-3deg)}40%{transform:rotate(3deg)}60%{transform:rotate(-2deg)}80%{transform:rotate(2deg)}}@keyframes jarRevealIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}
