@import"https://api.fontshare.com/v2/css?f[]=zodiak@400,500,600,700&f[]=satoshi@400,500,600,700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;hanging-punctuation:first last;scroll-padding-top:var(--space-16)}:root{--font-display: "Zodiak", Georgia, serif;--font-body: "Satoshi", "Helvetica Neue", sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .35vw, 1rem);--text-base: clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .75vw, 1.5rem);--text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-interactive: .18s cubic-bezier(.16, 1, .3, 1);--transition-slow: .35s cubic-bezier(.16, 1, .3, 1);--color-bg: #0d0d0d;--color-surface: #141414;--color-surface-2: #1a1a1a;--color-surface-offset: #1e1e1e;--color-surface-3: #222222;--color-divider: #2a2a2a;--color-border: #333333;--color-text: #e8e0d4;--color-text-muted: #9a9489;--color-text-faint: #5a5650;--color-text-inverse: #0d0d0d;--color-primary: #c41e3a;--color-primary-hover: #d4263f;--color-primary-active: #8b1a1a;--color-primary-muted: rgba(196, 30, 58, .15);--color-primary-glow: rgba(196, 30, 58, .4);--color-secondary: #b8860b;--color-secondary-hover:#d4a017;--color-secondary-muted:rgba(184, 134, 11, .15);--danger-1: #4a7c59;--danger-2: #b8a039;--danger-3: #c47e1e;--danger-4: #c43030;--danger-5: #8b1a1a;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.5);--shadow-lg: 0 12px 32px rgba(0,0,0,.6);--shadow-glow: 0 0 20px rgba(196, 30, 58, .3);--content-narrow: 640px;--content-default: 960px;--content-wide: 1200px}body{min-height:100dvh;line-height:1.6;font-family:var(--font-body, sans-serif);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);background:var(--color-bg);padding-bottom:calc(var(--space-16) + var(--space-4));overflow-x:hidden}body:before{content:"";position:fixed;inset: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)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0}#root{position:relative;z-index:1}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}ul[role=list],ol[role=list]{list-style:none}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15}p,li,figcaption{text-wrap:pretty;max-width:72ch}::selection{background:#c41e3a4d;color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button{cursor:pointer;background:none;border:none}table{border-collapse:collapse;width:100%}a,button,[role=button],[role=link],input,textarea,select{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{max-width:var(--content-wide);margin:0 auto;padding:0 var(--space-4)}@media(min-width:768px){.container{padding:0 var(--space-8)}}.app-header{position:sticky;top:0;z-index:100;background:#0d0d0deb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-divider);padding:var(--space-3) 0}.header-inner{display:flex;align-items:center;gap:var(--space-3)}.app-logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-text);flex-shrink:0}.app-logo svg{width:36px;height:36px}.app-logo-text{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:.02em;color:var(--color-text);line-height:1.2}.app-logo-text span{color:var(--color-primary)}.header-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.reading-counter{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.reading-counter strong{color:var(--color-secondary)}.auth-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-divider);font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-interactive);white-space:nowrap}.auth-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.auth-button.logged-in{border-color:var(--color-secondary-muted);color:var(--color-secondary)}.auth-button svg{width:16px;height:16px}.auth-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.search-filter-bar{padding:var(--space-4) 0 var(--space-3)}.search-wrapper{position:relative;margin-bottom:var(--space-3)}.search-wrapper svg{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-faint);pointer-events:none}.search-input{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-10);font-size:var(--text-sm);color:var(--color-text);outline:none}.search-input::placeholder{color:var(--color-text-faint)}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-muted)}.filter-tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-divider);white-space:nowrap;cursor:pointer;transition:all var(--transition-interactive)}.filter-tab:hover{color:var(--color-text);border-color:var(--color-border)}.filter-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.filter-row{display:flex;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.filter-select{flex:1;min-width:140px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9489' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.filter-select:focus{border-color:var(--color-primary);outline:none}.rituals-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);padding-bottom:var(--space-8)}@media(min-width:540px){.rituals-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.rituals-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.rituals-grid{grid-template-columns:repeat(4,1fr)}}.ritual-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:all var(--transition-slow);position:relative;overflow:hidden}.ritual-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),transparent);opacity:0;transition:opacity var(--transition-slow)}.ritual-card:hover{border-color:var(--color-border);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.ritual-card:hover:before{opacity:1}.ritual-card:active{transform:translateY(0)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}.card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text);line-height:1.2}.card-bookmark{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text-faint);transition:all var(--transition-interactive);z-index:2}.card-bookmark:hover{color:var(--color-primary);background:var(--color-primary-muted)}.card-bookmark.bookmarked{color:var(--color-primary)}.card-bookmark svg{width:18px;height:18px}.card-meta{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start;margin-bottom:var(--space-3)}.category-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;letter-spacing:.03em;text-transform:uppercase}.category-badge.classic{background:#b8860b26;color:#d4a017}.category-badge.internet-era{background:#5078c826;color:#7099e0}.category-badge.modern-viral{background:#8c3cb426;color:#b070d0}.card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--color-text-muted);gap:var(--space-2);min-height:24px}.card-origin{display:flex;align-items:center;gap:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.card-players{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0;white-space:nowrap}.danger-skulls{display:flex;gap:2px;align-items:center}.danger-skull{font-size:14px;line-height:1;opacity:.3;transition:opacity var(--transition-interactive)}.danger-skull.active{opacity:1}.danger-skull.level-1{filter:hue-rotate(80deg) brightness(1.2)}.danger-skull.level-2{filter:hue-rotate(30deg) brightness(1.1)}.danger-skull.level-3{filter:hue-rotate(0deg) brightness(1)}.danger-skull.level-4{filter:hue-rotate(-20deg) brightness(.9) saturate(1.5)}.danger-skull.level-5{filter:hue-rotate(-20deg) brightness(.8) saturate(2)}.danger-display{display:flex;align-items:center;gap:var(--space-2)}.danger-label{font-size:var(--text-xs);font-weight:500}.danger-label.level-1{color:var(--danger-1)}.danger-label.level-2{color:var(--danger-2)}.danger-label.level-3{color:var(--danger-3)}.danger-label.level-4{color:var(--danger-4)}.danger-label.level-5{color:var(--danger-5);text-shadow:0 0 8px var(--color-primary-glow)}.read-indicator{position:absolute;top:var(--space-3);right:var(--space-3);width:8px;height:8px;border-radius:50%;background:var(--color-secondary);opacity:0;transition:opacity var(--transition-interactive)}.ritual-card.is-read .read-indicator{opacity:1}.empty-state{text-align:center;padding:var(--space-16) var(--space-4);color:var(--color-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-2);color:var(--color-text)}.ritual-detail{max-width:var(--content-narrow);margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-16);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.back-button{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-2) 0;margin-bottom:var(--space-4);text-decoration:none}.back-button:hover{color:var(--color-primary)}.back-button svg{width:18px;height:18px}.detail-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-divider)}.detail-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-2);color:var(--color-text)}.detail-alt-names{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-4)}.detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.section-heading{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4);color:var(--color-text);display:flex;align-items:center;gap:var(--space-2)}.section-heading .icon{color:var(--color-primary);font-size:1.2em}.detail-section{margin-bottom:var(--space-8)}.origin-info{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5)}.origin-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-sm)}.origin-row:last-child{margin-bottom:0}.origin-label{color:var(--color-secondary);min-width:80px;flex-shrink:0;font-weight:600}.origin-value{color:var(--color-text);line-height:1.6}.materials-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.materials-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid var(--color-divider)}.materials-list li:before{content:"◆";color:var(--color-secondary);font-size:.7em;flex-shrink:0}.rules-content{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5)}.rules-step{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:1.7}.rules-step:last-child{margin-bottom:0}.step-number{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-muted);color:var(--color-primary);border-radius:50%;font-size:var(--text-xs);font-weight:600}.step-text{padding-top:var(--space-1)}.warnings-box{background:#8b1a1a1a;border:1px solid rgba(196,30,58,.3);border-radius:var(--radius-lg);padding:var(--space-5);position:relative;overflow:hidden}.warnings-box:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary)}.warnings-text{font-size:var(--text-sm);line-height:1.7;color:#e8c0c0}.accounts-list{display:flex;flex-direction:column;gap:var(--space-4)}.account-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5);border-left:3px solid var(--color-border)}.account-card blockquote{font-size:var(--text-sm);line-height:1.7;color:var(--color-text);margin-bottom:var(--space-3);font-style:italic}.account-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:var(--text-xs);color:var(--color-text-muted)}.platform-badge{display:inline-flex;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted)}.cultural-notes-content{font-size:var(--text-sm);line-height:1.8;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-5)}.sources-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.sources-list a{display:flex;align-items:center;gap:var(--space-2);color:var(--color-secondary);font-size:var(--text-xs);text-decoration:none;word-break:break-all;padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-divider);transition:all var(--transition-interactive)}.sources-list a:hover{border-color:var(--color-secondary);background:var(--color-secondary-muted)}.sources-list a:before{content:"🔗";font-size:.8em;flex-shrink:0}.stats-view{max-width:var(--content-default);margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-16);animation:fadeIn .3s ease}.stats-header{text-align:center;margin-bottom:var(--space-8)}.stats-header h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-2)}.stats-header p{color:var(--color-text-muted);font-size:var(--text-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4)}.stat-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-6)}.stat-card-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em}.stat-big-number{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-primary);margin-bottom:var(--space-2)}.stat-bar-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.stat-bar-label{font-size:var(--text-xs);color:var(--color-text-muted);min-width:90px;flex-shrink:0}.stat-bar-track{flex:1;height:8px;background:var(--color-surface-3);border-radius:var(--radius-full);overflow:hidden}.stat-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .6s cubic-bezier(.16,1,.3,1)}.stat-bar-value{font-size:var(--text-xs);color:var(--color-text-muted);min-width:24px;text-align:right}.progress-ring-container{display:flex;align-items:center;gap:var(--space-6)}.progress-ring{flex-shrink:0}.progress-ring-bg{fill:none;stroke:var(--color-surface-3);stroke-width:6}.progress-ring-fill{fill:none;stroke:var(--color-primary);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.16,1,.3,1);transform:rotate(-90deg);transform-origin:center}.progress-text{font-size:var(--text-sm);color:var(--color-text-muted)}.progress-text strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:200;background:#0d0d0df2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-divider);padding:var(--space-2) 0;padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}.bottom-nav-inner{display:flex;justify-content:center;gap:var(--space-1);max-width:400px;margin:0 auto}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-faint);font-size:10px;font-weight:500;text-decoration:none;transition:all var(--transition-interactive);min-width:64px}.nav-item svg{width:22px;height:22px}.nav-item:hover{color:var(--color-text-muted)}.nav-item.active{color:var(--color-primary)}.app-footer{text-align:center;padding:var(--space-8) var(--space-4) var(--space-4);font-size:var(--text-xs);color:var(--color-text-faint)}.app-footer a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-interactive)}.app-footer a:hover{color:var(--color-primary)}.view{display:none}.view.active{display:block;animation:fadeIn .25s ease}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border)}.detail-bookmark-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-divider);font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-interactive)}.detail-bookmark-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.detail-bookmark-btn.bookmarked{background:var(--color-primary-muted);border-color:var(--color-primary);color:var(--color-primary)}.detail-bookmark-btn svg{width:16px;height:16px}.danger-large{display:flex;align-items:center;gap:var(--space-3)}.danger-large .danger-skulls{gap:4px}.danger-large .danger-skull{font-size:20px}.results-count{font-size:var(--text-xs);color:var(--color-text-faint);padding:var(--space-2) 0}.login-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn .2s ease}.login-modal{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-xl);padding:var(--space-8);max-width:420px;width:100%;position:relative}.login-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text-faint);font-size:1.2em}.login-modal-close:hover{color:var(--color-text);background:var(--color-surface-2)}.login-modal-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text);text-align:center}.login-modal-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;margin-bottom:var(--space-6)}.login-panel-wrapper{display:flex;justify-content:center}.login-panel-wrapper [class*=panelClass],.login-panel-wrapper>div{background:transparent!important;color:var(--color-text)!important}.view-toggle{display:flex;gap:2px;margin-left:auto;flex-shrink:0}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text-faint);cursor:pointer;transition:all var(--transition-interactive)}.view-toggle-btn:hover{color:var(--color-text-muted);border-color:var(--color-border)}.view-toggle-btn.active{color:var(--color-primary);border-color:var(--color-primary);background:#c41e3a14}.view-toggle-btn svg{width:16px;height:16px}.rituals-list{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-8)}.ritual-list-card{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);cursor:pointer;position:relative;transition:all var(--transition-interactive)}.ritual-list-card:before{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);opacity:0;background:linear-gradient(135deg,rgba(196,30,58,.06),transparent);transition:opacity var(--transition-interactive);pointer-events:none}.ritual-list-card:hover{border-color:var(--color-border);transform:translateY(-1px);box-shadow:0 4px 16px #0000004d}.ritual-list-card:hover:before{opacity:1}.ritual-list-card .list-card-main{flex:1;min-width:0}.ritual-list-card .list-card-top{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.ritual-list-card .list-card-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-text);margin:0;line-height:1.3}.ritual-list-card .list-card-badges{display:flex;align-items:center;gap:var(--space-2)}.ritual-list-card .list-card-summary{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5;margin:0 0 var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ritual-list-card .list-card-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-faint)}.ritual-list-card .list-card-year{white-space:nowrap}.ritual-list-card .card-bookmark{flex-shrink:0;align-self:center}.ritual-list-card .read-indicator{position:absolute;top:var(--space-3);right:var(--space-3);width:8px;height:8px;border-radius:50%;background:transparent;pointer-events:none}.ritual-list-card.is-read .read-indicator{background:var(--color-secondary)}@media(max-width:599px){.ritual-list-card .list-card-top{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}.nav-profile{background:none;border:none;cursor:pointer;font-family:inherit}.nav-profile-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.nav-profile.logged-in{color:var(--color-secondary)}.nav-profile.logged-in .nav-profile-avatar{border:2px solid var(--color-secondary)}
