:root{--maroon:#7a1f2b;--maroon-dark:#5d1623;--gold:#d9a21b;--cream:#fbf5e6;--ink:#2b2b2b;--edge:#e3d9be;--edge-strong:#9a8b5c;--sand:#f2e3c0;--honey:#fff8e1;--grey:#6b6b6b;--alert:#b3261e;--alert-deep:#8f1d17;--hover-wash:#ffdf822e;--scrim:#0006}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--maroon-dark);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit}.center{min-height:100dvh;color:var(--sand);place-items:center;font-family:Georgia,serif;font-size:1.5em;display:grid}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.valley{background:var(--maroon-dark);min-height:100dvh}.stage{width:100%;position:relative;container-type:inline-size}.stage img{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.hotspot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:1.2cqw;padding:0;transition:box-shadow .15s,background-color .15s;display:block;position:absolute}.hotspot:hover,.hotspot:active{background:var(--hover-wash);box-shadow:0 0 0 .3cqw var(--gold), 0 0 2.2cqw #ffd55ad9;outline:none}.hotspot:focus-visible{background:var(--hover-wash);outline-offset:2px;box-shadow:0 0 0 6px var(--maroon), 0 0 2.2cqw #ffd55ad9;outline:3px solid #fff}.hotspot:not(.menu):hover:after,.hotspot:not(.menu):focus-visible:after,.hotspot:not(.menu):active:after{content:attr(data-label);background:var(--maroon);color:#fff;white-space:nowrap;pointer-events:none;border-radius:1cqw;padding:.3cqw 1cqw;font-size:max(.8rem,1.4cqw);position:absolute;top:-1.8cqw;left:50%;transform:translate(-50%)}.hotspot.menu{border-radius:.8cqw}.hotspot.menu:before{content:"";position:absolute;inset:-8px -2px}.hotspot[aria-disabled=true]{cursor:default}.hotspot[aria-disabled=true]:hover,.hotspot[aria-disabled=true]:active{box-shadow:none;background:0 0}.soon-tip{z-index:6;white-space:nowrap;pointer-events:none;background:var(--cream);color:var(--maroon);border:2px solid var(--gold);border-radius:.8rem;padding:.4rem .9rem;font:italic 700 clamp(.85rem,1.5cqw,1.15rem) Georgia,serif;animation:.18s pop;position:absolute;transform:translate(-50%)}.affirmation{text-align:center;color:var(--maroon);pointer-events:none;text-wrap:balance;place-items:center;padding:0 1.5cqw 0 6cqw;font-family:Georgia,serif;font-size:1.9cqw;font-style:italic;font-weight:700;line-height:1.25;display:grid;position:absolute}.staff{z-index:5;flex-wrap:wrap;gap:.4rem;display:flex;position:fixed;top:.6rem;left:.6rem}.staff a,.staff button{background:var(--maroon);color:#fff;cursor:pointer;border:0;border-radius:.6rem;align-items:center;min-height:2.5rem;padding:.35rem .9rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.staff a:focus-visible,.staff button:focus-visible{outline-offset:2px;outline:3px solid #fff}.settings-pill{z-index:5;background:var(--maroon);color:#fff;border-radius:.6rem;align-items:center;gap:.45rem;min-height:2.75rem;padding:.4rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;display:none;position:fixed;bottom:.8rem;right:.8rem}.settings-pill:hover{background:var(--maroon-dark)}.settings-pill:focus-visible{outline-offset:2px;outline:3px solid #fff}@media (aspect-ratio>=3/2){.settings-pill{display:inline-flex}}.popup{background:var(--cream);color:var(--ink);border:4px solid var(--gold);overscroll-behavior:contain;border-radius:1.2rem;width:min(30rem,100% - 2rem);max-height:85dvh;padding:0;overflow:auto}.popup[open]{animation:.18s pop}.popup::backdrop{background:var(--scrim)}.popup-body{padding:1.2rem 1.4rem;position:relative}.popup h2{color:var(--maroon);margin:0 3rem .8rem 0;font-family:Georgia,serif}.popup ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.popup li a{border:2px solid var(--edge-strong);min-height:3.5rem;color:var(--maroon);background:#fff;border-radius:.8rem;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1rem;font-weight:600;text-decoration:none;display:flex}.popup li a svg{flex:none}.popup li a:hover{border-color:var(--gold);background:var(--honey)}.popup li a:focus-visible{outline:3px solid var(--maroon);outline-offset:2px;background:var(--honey)}.soon{color:var(--grey);margin:.8rem 0 0;font-family:Georgia,serif;font-style:italic}.popup .x{width:2.75rem;height:2.75rem;color:var(--maroon);background:0 0;place-items:center;padding:0;display:grid;position:absolute;top:.5rem;right:.5rem}.popup .x:hover{background:#7a1f2b14}.popup .close{min-width:7rem;min-height:2.75rem;margin:1rem 0 0 auto;display:block}@keyframes pop{0%{opacity:0;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.popup[open],.soon-tip{animation:none}.hotspot{transition:none}}.login{background:var(--maroon-dark) url(/valley-login.jpg) top center / 100% auto no-repeat;min-height:max(100dvh,66.667vw)}@media (width<=800px){.login{background-image:url(/valley-login-800.jpg)}}@media (width>=801px) and (width<=1200px){.login{background-image:url(/valley-login-1200.jpg)}}.login .card{width:min(24rem,100% - 2rem);margin:0;position:fixed;bottom:clamp(1rem,4vw,3rem);left:clamp(1rem,4vw,3rem)}.page{color:#fff;max-width:56rem;margin:0 auto;padding:1.2rem 1rem 3rem}.page.narrow{max-width:32rem;padding-top:clamp(1.2rem,9vh,4rem)}.page h1{background:var(--cream);color:var(--maroon);border:3px solid var(--gold);border-radius:.8rem;margin:1rem 0 1.2rem;padding:.55rem 1.9rem;font-family:Georgia,serif;display:inline-block;position:relative}.page h1:before,.page h1:after{content:"";background:var(--maroon);border-radius:50%;width:.5rem;height:.5rem;margin-top:-.25rem;position:absolute;top:50%}.page h1:before{left:.65rem}.page h1:after{right:.65rem}.back{color:var(--sand);background:#fbf5e61f;border-radius:.6rem;align-items:center;gap:.45rem;padding:.55rem .9rem .55rem .7rem;font-size:1rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s;display:inline-flex}.back:hover{background:#fbf5e63d}.back:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.back svg{flex:none}.card{background:var(--cream);color:var(--ink);border:3px solid var(--gold);border-radius:1rem;gap:.7rem;margin:0 0 1rem;padding:1rem 1.2rem;display:grid}.card h1,.card h2{color:var(--maroon);border:0;margin:0;padding:0;font-family:Georgia,serif}label{gap:.25rem;font-weight:600;display:grid}input,select{border:2px solid var(--edge-strong);background:#fff;border-radius:.6rem;min-width:0;min-height:2.75rem;padding:.6rem .7rem}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--maroon);outline-offset:2px}button{background:var(--maroon);color:#fff;cursor:pointer;border:0;border-radius:.6rem;min-height:2.75rem;padding:.6rem 1rem;font-weight:600}button:hover{background:var(--maroon-dark)}button:disabled{opacity:.6}button.secondary{color:var(--maroon);border:2px solid var(--maroon);background:#fff}button.secondary:hover{background:var(--cream)}button.danger{background:var(--alert)}button.danger:hover{background:var(--alert-deep)}button.ghost{color:var(--sand);border:2px solid var(--sand);background:0 0;align-items:center;gap:.5rem;display:inline-flex}button.ghost:hover{background:#fbf5e61f}.error{color:var(--alert);margin:0;font-weight:600}.page>.error,.editor>.error{background:var(--cream);border:2px solid var(--alert);border-radius:.6rem;margin:0 0 1rem;padding:.6rem .9rem}.notice{background:var(--cream);color:var(--maroon);border:2px solid var(--gold);border-radius:.6rem;align-items:center;gap:.4rem;margin:0 0 1rem;padding:.5rem .8rem;font-weight:600;display:flex}.notice:empty{display:none}.ok{color:var(--maroon);align-items:center;gap:.4rem;margin:0;font-weight:600;display:flex}.muted{color:var(--grey)}.page>.muted{color:var(--sand)}.field{gap:.25rem;display:grid}.field label{font-weight:600}.pw{display:grid;position:relative}.pw input{padding-right:3rem}.eye{min-height:0;color:var(--maroon);background:0 0;padding:.55rem;line-height:0;position:absolute;top:50%;right:.2rem;transform:translateY(-50%)}.eye:hover{background:#7a1f2b14}.form-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:end}.form-grid>button{justify-self:start;min-width:8rem}.editor{margin:0 0 1rem}.editor ul,ul.editor,.links{margin:0 0 1rem;padding:0;list-style:none}.editor li,ul.editor li{background:var(--cream);color:var(--ink);border-radius:.8rem;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.4rem;padding:.6rem .9rem;display:flex}.editor li button,ul.editor li button{min-height:2.75rem;margin-left:.4rem;padding:.35rem .8rem}.row-actions{align-items:center;gap:.6rem;display:inline-flex}.confirm{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.editor li a{color:var(--maroon);font-weight:600}.editor .form-grid{background:var(--cream);color:var(--ink);border-radius:.8rem;padding:.8rem}.pinbtn{min-width:5rem}.links li{padding:.4rem 0}.links a{color:var(--maroon);font-weight:700}table.card{border-collapse:collapse;width:100%;padding:0;display:table;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--edge);padding:.6rem .8rem}th{background:var(--maroon);color:#fff}td.cap{text-transform:capitalize}td.actions{white-space:nowrap;text-align:right}td.actions input{width:9rem;min-height:2.25rem;padding:.3rem .6rem}td.actions button{min-height:2.75rem;margin-left:.3rem;padding:.35rem .8rem}td.actions .danger,td.actions .confirm{margin-left:1rem}td.actions{white-space:normal}.profile-card{justify-items:center}.avatar{background:var(--maroon);width:4.5rem;height:4.5rem;color:var(--cream);border:3px solid var(--gold);border-radius:50%;place-items:center;font:700 2rem Georgia,serif;display:grid}.profile{grid-template-columns:auto 1fr;gap:.5rem 1.2rem;width:100%;margin:0;display:grid}.profile dt{color:var(--maroon);font-weight:700}.profile dd{margin:0}.pin{vertical-align:-.2em;color:var(--maroon);margin-right:.4rem}.rotate-hint{text-align:center;color:var(--sand);pointer-events:none;margin:0;padding:0 1rem;font-size:1rem;display:none;position:fixed;bottom:1.5rem;left:0;right:0}.rotate-hint svg{vertical-align:-.3em}@media (orientation:portrait) and (width<=1100px){.rotate-hint{display:block}.valley{place-items:center;display:grid}}
