:root{--bg: #0e0809;--bg-elevated: #16100f;--wine: #3d0f18;--wine-soft: #2a1216;--gold: #d4a84b;--gold-dim: #d4a84b88;--cream: #f3ead8;--cream-muted: #f3ead8b3;--card: #1a1214;--line: #d4a84b2e;--line-strong: #d4a84b55;--error: #ffb4a2;--success: #9fd4a8;--font-sans: Inter, system-ui, sans-serif;--font-display: "Playfair Display", Georgia, serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: clamp(1.35rem, 2.8vw, 1.75rem);--text-2xl: clamp(1.5rem, 3.2vw, 2.15rem);--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;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-pill: 999px;--card-padding: var(--space-5);--page-max: 36rem;--page-wide-max: 52rem;--shadow-card: 0 12px 40px #0006;--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--gold-dim)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:radial-gradient(ellipse 120% 80% at 50% -20%,#2a1018 0%,var(--bg) 55%);color:var(--cream);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:#e8c06a}.wrap{max-width:72rem;margin:0 auto;padding:0 var(--space-5);height:100%;display:flex;flex-direction:column;min-height:0}.brand{padding:var(--space-3) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;border-bottom:1px solid var(--line)}.brand-mark{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--gold)}.brand-mark img{width:2.25rem;height:2.25rem;border-radius:50%;border:2px solid var(--gold);object-fit:cover}.brand-mark span{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--gold)}.brand-actions{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.brand-actions a{text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--cream-muted);transition:color .15s,background .15s}.brand-actions a:hover{color:var(--gold);background:var(--wine-soft)}.page{width:100%;max-width:var(--page-max);margin:0 auto;padding:var(--space-6) 0 var(--space-4);flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;overflow:auto;gap:var(--space-4)}.page-head{margin-bottom:var(--space-1)}.page-wide,.page-ritual{max-width:none;width:100%;justify-content:stretch;overflow:hidden;padding:var(--space-3) 0 var(--space-4);gap:var(--space-5)}.page-wide:not(.page-ritual){overflow:auto;justify-content:flex-start;max-width:var(--page-wide-max)}.page-wide h1{margin-bottom:var(--space-2)}.ritual{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);width:100%;max-width:640px;margin:0 auto;padding-bottom:var(--space-8)}.hero{text-align:center;padding:0;margin:0;display:flex;justify-content:center;width:100%}.hero picture{display:block;width:100%}.hero img{width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:var(--radius-lg);border:1px solid var(--line-strong);box-shadow:var(--shadow-card);display:block}.ritual-stage{width:100%;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}h1,h2,.section-title{font-family:var(--font-display);color:var(--gold);font-weight:600;line-height:1.2}h1{font-size:var(--text-2xl);margin:0}h2,.section-title{font-size:var(--text-xl);margin:0 0 var(--space-3)}.lede{font-size:var(--text-base);color:var(--cream-muted);line-height:1.55}.eyebrow{font-family:var(--font-display);color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:var(--text-xs);margin-bottom:var(--space-2)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--card-padding);box-shadow:var(--shadow-card)}.profile-section{display:flex;flex-direction:column;gap:var(--space-4)}.profile-section+.profile-section{margin-top:var(--space-2)}.quote{display:flex;gap:var(--space-4);align-items:flex-start;background:linear-gradient(135deg,var(--wine) 0%,#2a0f14 100%);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-4);text-align:left}.quote img{width:3.25rem;height:3.25rem;border-radius:50%;border:2px solid var(--gold);flex-shrink:0;object-fit:cover}.quote p{font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;line-height:1.4;color:var(--cream)}.quote small{display:block;margin-top:var(--space-3);color:var(--gold);font-family:var(--font-sans);font-size:var(--text-sm);font-style:normal}.quote-body{flex:1;min-width:0;container-type:inline-size}.quote-foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4);margin-top:var(--space-3)}.quote-foot small{margin-top:0}.quote-ratings{flex:1 1 100%;display:block;color:var(--cream-muted);font-family:var(--font-sans);font-size:clamp(.5rem,4.5cqi,var(--text-sm));font-style:normal;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%}.muted{color:var(--cream-muted);font-size:var(--text-sm)}button,.button{font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;padding:.65rem 1.35rem;min-height:2.75rem;background:var(--gold);color:var(--bg);font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-pill);text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 8px 24px #d4a84b44}button:focus-visible,.button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus-ring)}button:disabled,.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.ghost{background:transparent;color:var(--cream);border:1px solid var(--line);box-shadow:none}.ghost:hover{border-color:var(--gold);color:var(--gold);box-shadow:none;transform:none}.ghost.on{border-color:var(--gold);color:var(--gold);background:#d4a84b14}.text-btn{background:none;border:0;color:var(--cream-muted);padding:var(--space-2) var(--space-3);min-height:auto;font-weight:500;border-radius:var(--radius-sm)}.text-btn:hover{transform:none;box-shadow:none;color:var(--gold);background:var(--wine-soft)}.actions-primary{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.actions-primary>button,.actions-primary>.button{width:100%}.actions-row{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.panel-secondary{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-4)}.panel-secondary>.panel-label{font-size:var(--text-sm);color:var(--cream-muted);text-transform:uppercase;letter-spacing:.06em}.field{display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.field-label,.field>span:first-child{font-size:var(--text-sm);font-weight:500;color:var(--cream-muted)}.field-hint{font-size:var(--text-xs);color:var(--cream-muted)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}input,textarea,select{font:inherit;width:100%;background:var(--bg-elevated);color:var(--cream);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .85rem;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:5rem;line-height:1.45}input::placeholder,textarea::placeholder{color:#f3ead866}select{cursor:pointer}.error{color:var(--error);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);background:#ffb4a212;border-radius:var(--radius-sm);border:1px solid #ffb4a233}.login-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.login-error p{flex:1 1 12rem;margin:0}.login-error .button{flex:0 0 auto;min-height:2.75rem;padding:.45rem .95rem;white-space:nowrap}.success{color:var(--success);font-size:var(--text-sm)}.row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.refuse{display:flex;flex-direction:column;gap:var(--space-4);text-align:left}.refuse .chips{flex-wrap:wrap;gap:var(--space-2)}.history-filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}.history{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-2) 0}.history-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.history-card__title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--gold);line-height:1.25}.history-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--cream-muted)}.history-card__rate{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.history-card__meta span{display:inline-flex;align-items:center;gap:var(--space-2)}.status-pill{display:inline-block;padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line);color:var(--cream-muted)}.status-pill--offered{border-color:#d4a84b55;color:var(--gold)}.status-pill--pending{border-color:#7eb8ff55;color:#a8d4ff}.status-pill--evaluated{border-color:#9fd4a855;color:var(--success)}.status-pill--refused,.status-pill--abandoned{border-color:#ffb4a244;color:var(--error)}.rating-pill--hit{color:var(--success)}.rating-pill--miss{color:var(--error)}.avatar{width:2.25rem;height:2.25rem;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}.avatar-fallback{display:grid;place-items:center;background:var(--wine);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--gold)}.avatar-lg{width:4rem;height:4rem;font-size:var(--text-lg)}.verdict{text-align:center;display:flex;flex-direction:column;gap:var(--space-4)}.verdict .field,.verdict form.stack{text-align:left}.verdict .actions-row{justify-content:center}footer{text-align:center;padding:var(--space-3) 0 var(--space-4);color:var(--cream-muted);font-size:var(--text-xs);border-top:1px solid var(--line);flex-shrink:0}footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}.links{font-size:var(--text-sm);color:var(--cream-muted);text-align:center}.links a{text-decoration:none}.links a:hover{text-decoration:underline}.auth-actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch}.google-btn{width:100%;background:var(--bg-elevated);color:var(--cream);border:1px solid var(--line)}.google-btn:hover{border-color:var(--gold);color:var(--gold);box-shadow:none}.watch-section{display:flex;flex-direction:column;gap:var(--space-3);width:100%;margin:var(--space-4) 0}.watch-row,.service-picks{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.watch-link,.service-pick{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--cream-muted);background:var(--wine-soft);text-decoration:none;font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color .15s,color .15s}.watch-link img,.watch-icon{width:1.35rem;height:1.35rem;object-fit:contain;flex-shrink:0}.watch-icon--theaters{display:inline-block;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M4 7h16v10H4z'/%3E%3Cpath d='M4 11h16M9 7v10M15 7v10'/%3E%3C/svg%3E") center / contain no-repeat}.service-pick.on,.watch-link:hover{border-color:var(--gold);color:var(--gold)}.service-pick input{width:auto;margin:0;accent-color:var(--gold)}fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-4);margin:0}fieldset legend{font-size:var(--text-sm);font-weight:600;color:var(--gold);padding:0 var(--space-2)}.chips .ghost{min-height:2.25rem;padding:.4rem .85rem;font-size:var(--text-xs)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--cream-muted)}input[type=date]{color-scheme:dark;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85) sepia(.6) saturate(3) hue-rotate(5deg);cursor:pointer;opacity:1}@media(max-width:600px){.wrap{padding:0 var(--space-4)}.page{padding:var(--space-4) 0;justify-content:flex-start}.brand-mark span{font-size:var(--text-base)}.brand-actions a:not([aria-label]){display:none}.actions-row--split button{flex:1 1 45%}.history-card__meta{flex-direction:column;gap:var(--space-2)}.page button:not(.ghost):not(.text-btn):not(.password-toggle),.page .button:not(.ghost){width:100%}.login-error{flex-direction:column;align-items:stretch}.login-error p{flex:0 0 auto}.login-error .button,.watch-link,.service-pick{width:100%}}.reason-panel{display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.decision-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%;margin-top:var(--space-2)}.decision-row>button{width:100%;min-height:3rem}@media(max-width:520px){.decision-row{grid-template-columns:1fr}}.chips{flex-wrap:wrap;gap:var(--space-2)}.page-ritual{overflow-y:auto}.refuse-card{display:flex;flex-direction:column;gap:var(--space-4);text-align:left}.page-ritual{gap:var(--space-3);padding:var(--space-2) 0 var(--space-2)}.ritual{gap:var(--space-3);padding-bottom:var(--space-2);max-width:clamp(300px,calc((100vh - 540px) * 16 / 9),500px);max-width:clamp(300px,calc((100dvh - 540px) * 16 / 9),500px)}.ritual-stage,.ritual .verdict,.ritual .refuse-card{gap:var(--space-3)}.ritual .verdict h1{font-size:var(--text-lg)}.ritual .eyebrow{margin-bottom:0}.ritual .quote{padding:var(--space-3);gap:var(--space-3)}.ritual .quote img{width:2.75rem;height:2.75rem}.ritual .quote p{font-size:var(--text-sm);line-height:1.35}.ritual .quote-foot{margin-top:var(--space-2)}.ritual .decision-row{margin-top:0}.ritual .decision-row>button{min-height:2.75rem}.ritual fieldset{padding:var(--space-3)}button.is-loading,a.is-loading{cursor:progress}a.is-loading{pointer-events:none;opacity:.85}button.is-loading:after,a.is-loading:after{content:"";display:inline-block;width:.9em;height:.9em;margin-left:.5em;vertical-align:-.12em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@keyframes btn-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){button.is-loading:after,a.is-loading:after{animation:btn-pulse 1.2s ease-in-out infinite}}.stars{display:flex;justify-content:center;gap:var(--space-1, .25rem)}.stars .star{background:none;border:none;padding:var(--space-1, .25rem);min-height:0;font-size:2rem;line-height:1;color:var(--line);cursor:pointer;transition:color .15s,transform .15s}.stars .star.on{color:var(--gold)}.stars .star:hover:not(:disabled),.stars .star:focus-visible{transform:scale(1.12)}.stars:hover .star:not(:disabled){color:var(--gold)}.stars .star:hover~.star:not(:disabled){color:var(--line)}.history-stars{color:var(--gold);letter-spacing:.05em}.history-stars__off{color:var(--line)}@media(prefers-reduced-motion:reduce){.stars .star{transition:none}}button,.button{white-space:nowrap;min-width:0;max-width:100%;font-size:clamp(.72rem,3.4vw,var(--text-sm))}@media(max-width:420px){button,.button{padding:.6rem .85rem;gap:var(--space-1, .25rem);letter-spacing:-.01em}.actions-row--split button{flex:1 1 0}}@media(min-width:900px)and (hover:hover)and (pointer:fine){:root{--page-max: 40rem}.ritual{max-width:590px}}.password-field{position:relative}.password-field>input{padding-right:2.75rem}.password-field>input::-ms-reveal,.password-field>input::-ms-clear{display:none}.password-toggle{position:absolute;top:50%;right:.2rem;z-index:1;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--cream-muted);box-shadow:none;line-height:0;flex:none}.password-toggle svg{display:block;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.password-toggle:hover,.password-toggle:focus-visible{transform:translateY(-50%);background:#d4a84b18;color:var(--gold)}.password-toggle:hover{box-shadow:none}.password-toggle:focus-visible{box-shadow:var(--focus-ring)}.password-toggle[aria-pressed=true]{color:var(--gold)}@media(max-width:600px){.page button.password-toggle{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;max-width:2.75rem;padding:0;flex:none}}.media-toggle{display:flex;width:100%;max-width:280px;margin:0 auto;padding:4px;gap:4px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:#0e0809cc}.media-toggle button{flex:1 1 0;min-height:2.5rem;padding:.45rem .8rem;background:transparent;color:var(--cream);border:0;border-radius:var(--radius-pill);box-shadow:none;transform:none}.media-toggle button:hover{transform:none;box-shadow:none;color:var(--gold);background:transparent}.media-toggle button[aria-checked=true],.media-toggle button[aria-checked=true]:hover{background:var(--gold);color:var(--bg);box-shadow:none;transform:none}.media-toggle button:focus-visible{box-shadow:var(--focus-ring)}@media(min-width:900px){.media-toggle{max-width:320px}}@media(min-width:900px)and (hover:hover)and (pointer:fine){.wrap:has(.page-ritual) .brand{padding:.45rem 0}.wrap:has(.page-ritual) .brand-mark img{width:2rem;height:2rem}.wrap:has(.page-ritual) .brand-mark span{font-size:1rem}.wrap:has(.page-ritual) footer{padding:.3rem 0 .4rem;font-size:.7rem}.page-ritual{padding:.3rem 0;gap:.4rem}.page-ritual .ritual{gap:.5rem;padding-bottom:0}.page-ritual .hero img{border-radius:14px}.page-ritual .media-toggle{max-width:248px;padding:3px;gap:3px}.page-ritual .media-toggle button{min-height:2.15rem;padding:.28rem .6rem;font-size:.8125rem}.page-ritual .ritual-stage,.page-ritual .ritual .card{gap:.45rem}.page-ritual .card{padding:.8rem .95rem}.page-ritual .stack{gap:.45rem}.page-ritual .field{gap:.3rem}.page-ritual .field-label{font-size:.8125rem}.page-ritual textarea{min-height:3.7rem;padding:.45rem .7rem;font-size:.875rem;line-height:1.35}.page-ritual .muted{font-size:.8125rem;line-height:1.35}.page-ritual .actions-primary{margin-top:0;gap:.35rem}.page-ritual .actions-primary>button{min-height:2.3rem;padding:.35rem .9rem;font-size:.8125rem}}
