.calculator-section{margin-bottom:var(--spacing-2xl)}.form-group label{font-size:var(--font-size-sm);color:var(--color-text-tertiary);letter-spacing:.08em;margin-bottom:var(--spacing-sm);display:block}.form-group input{width:100%;padding:var(--spacing-sm) 0;font-family:var(--font-family);font-size:var(--font-size-2xl);color:var(--color-text-primary);border:none;border-bottom:1px solid var(--color-text-primary);transition:border-color var(--transition-fast);background:0 0;border-radius:0}.form-group input:focus{border-bottom-width:2px;outline:none}.form-help{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-sm);display:block}.form-error{margin:var(--spacing-sm) 0 0;padding-left:var(--spacing-sm);border-left:2px solid var(--color-error);font-size:var(--font-size-sm);color:var(--color-error);line-height:1.6}.form-error[hidden]{display:none}.btn-primary{margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-surface);background:var(--color-text-primary);border:1px solid var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast)}.btn-primary:hover{opacity:.82}.btn-secondary{padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0}.btn-secondary:hover{color:var(--color-text-primary);border-color:var(--color-text-primary)}.results-section{display:none}.results-section.show{display:block}.rites-paper{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-xl) var(--spacing-lg);margin-bottom:var(--spacing-lg)}.rites-head{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;padding-bottom:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.rites-head strong{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-top:var(--spacing-xs);display:block}.rites{position:relative}.rite{align-items:baseline;gap:0 var(--spacing-md);padding:var(--spacing-sm) 0;grid-template-columns:1.7em 1fr auto;display:grid;position:relative}.rite:after{content:"";background:var(--color-border);width:1px;position:absolute;top:2.3em;bottom:0;left:.85em}.rite:last-child:after{display:none}.rite-mark{z-index:1;font-size:var(--font-size-lg);color:var(--color-text-tertiary);text-align:center;background:var(--color-surface);padding:.15em 0;line-height:1;position:relative}.rite-name{font-size:var(--font-size-base);color:var(--color-text-secondary)}.rite-date{font-size:var(--font-size-base);color:var(--color-text-primary);display:block}.rite-dow{color:var(--color-text-tertiary)}.rite-king{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:.5em}.rite-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap}.rite-final{margin-top:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.rite-final .rite-mark,.rite-final .rite-name{color:var(--color-ochre)}.rite-final .rite-king{color:var(--color-ochre);opacity:.75}.rite-final .rite-date{font-size:var(--font-size-xl);color:var(--color-ochre)}.rite-final .rite-dow{color:var(--color-ochre);opacity:.7}.rites-note{margin:var(--spacing-xl) 0 0;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;line-height:1.85}.rites-foot{text-align:center;margin-bottom:var(--spacing-2xl)}.note-list{padding-left:0;list-style:none}.note-list li{padding-left:var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);position:relative}.note-list li:before{content:"";background:var(--color-text-tertiary);width:4px;height:1px;position:absolute;top:.85em;left:0}.highlight{color:var(--color-text-primary);font-weight:700}@media (prefers-reduced-motion:no-preference){.results-section.show .rite{animation:.38s ease-out backwards riteIn;animation-delay:calc(var(--i) * 55ms)}}@keyframes riteIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
