.calculator-section{margin-bottom:var(--spacing-2xl)}.form-group label{font-size:var(--font-size-sm);color:var(--color-text-tertiary);letter-spacing:var(--tracking-label);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-sm);color:var(--color-text-secondary);margin-top:var(--spacing-sm);line-height:var(--leading-normal);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);line-height:var(--leading-snug);color:var(--color-error)}.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);line-height:var(--leading-none);color:var(--color-text-tertiary);text-align:center;background:var(--color-surface);padding:.15em 0;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);line-height:var(--leading-relaxed);color:var(--color-text-tertiary);text-align:center}.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}}.calculator-section{margin-bottom:var(--spacing-2xl);background:var(--color-surface);border-top:1px solid var(--color-text-primary);border-bottom:1px solid var(--color-text-primary);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.calculator-section .form-group{padding:var(--spacing-lg)}.calculator-section .form-group label{margin-bottom:var(--spacing-md);color:var(--color-pine-dark)}.calculator-section .form-group input{max-width:28rem;padding:var(--spacing-sm) 0 var(--spacing-xs);font-size:clamp(var(--font-size-xl), 4vw, var(--font-size-3xl))}.calculator-section .btn-primary{width:14rem;padding:var(--spacing-lg);border:0;border-left:1px solid var(--color-text-primary);font-size:var(--font-size-lg);line-height:var(--leading-snug);border-radius:0;margin:0}.results-section.show{animation:.24s ease-out resultReveal}.rites-paper{border-top:1px solid var(--color-text-primary);border-bottom:1px solid var(--color-text-primary);border-radius:0;padding:0}.rites-head{align-items:baseline;gap:var(--spacing-lg);padding:var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border);grid-template-columns:10rem 1fr;margin:0;display:grid}.rites-head strong{font-size:var(--font-size-2xl);margin:0;display:inline}.rites{padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:relative}.rites:before{content:"";top:calc(var(--spacing-xl) + 1rem);left:calc(var(--spacing-md) + 7%);right:calc(var(--spacing-md) + 7%);background:var(--color-border);height:1px;position:absolute}.rite{align-items:center;gap:var(--spacing-sm);min-width:0;padding:0 var(--spacing-xs);text-align:center;flex-direction:column;display:flex}.rite:after{display:none}.rite-mark{border:1px solid var(--color-border);background:var(--color-surface);width:2rem;height:2rem;font-size:var(--font-size-sm);border-radius:50%;padding:0;line-height:1.9rem}.rite>span:nth-child(2){flex-direction:column;align-items:center;min-width:0;display:flex}.rite-name{font-weight:700}.rite-king{margin:var(--spacing-xs) 0 0;font-size:var(--font-size-xs);line-height:var(--leading-snug);order:3}.rite-date{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);line-height:var(--leading-snug);order:2}.rite-count{font-size:var(--font-size-xs);order:-1}.rite-final{border-top:0;margin:0;padding-top:0}.rite-final .rite-mark{border-color:var(--color-ochre);background:var(--color-surface)}.rite-final .rite-date{font-size:var(--font-size-sm);line-height:var(--leading-snug)}.rites-note{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-top:1px solid var(--color-border);margin:0}.rites-foot{margin-top:calc(var(--spacing-md) * -1);margin-bottom:var(--spacing-2xl);text-align:right}@keyframes resultReveal{0%{opacity:0}to{opacity:1}}@media (width<=900px){.rites{padding:var(--spacing-md) var(--spacing-lg);grid-template-columns:1fr}.rites:before{display:none}.rite{align-items:start;gap:0 var(--spacing-md);padding:var(--spacing-sm) 0;text-align:left;border-bottom:1px solid var(--color-border-light);grid-template-columns:2rem minmax(0,1fr) auto;display:grid}.rite:last-child{border-bottom:0}.rite>span:nth-child(2){align-items:flex-start}.rite-count{order:initial}.rite-king{margin-left:0}}@media (width<=640px){.calculator-section{grid-template-columns:1fr}.calculator-section .form-group{padding:var(--spacing-md)}.calculator-section .btn-primary{width:100%;padding:var(--spacing-md);border-left:0;border-top:1px solid var(--color-text-primary)}.rites-head{gap:var(--spacing-xs);padding:var(--spacing-md);grid-template-columns:1fr}.rites-head strong{display:block}.rites{padding:var(--spacing-sm) var(--spacing-md)}.rites-note{padding:var(--spacing-md)}}
