@charset "UTF-8";
:root{--paper:#f1e8d3;--ink:#273839;--muted:#69716b;--green:#355e51;--rose:#a24b3f;--gold:#dfb761;--line:#a5a595;--room-travel:0px;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:1.05rem/1.6 Georgia,"Times New Roman",serif;background-image:radial-gradient(#27383912 .65px,transparent .65px);background-size:5px 5px}
a{color:var(--green);text-underline-offset:.2em}
button,input,a{touch-action:manipulation}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:5px}
.masthead{max-width:76rem;margin:0 auto;padding:1.25rem 2.5rem;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;gap:1rem;font: .74rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}
.address{text-decoration:none}.imprint{color:var(--muted)}
main{max-width:76rem;margin:0 auto;padding:3.1rem 2.5rem 1rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);column-gap:3.5rem;align-items:start}
.opening{padding:.2rem 0 1.2rem;position:sticky;top:2rem}
.eyebrow{text-transform:uppercase;font:.65rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;max-width:25em;color:var(--rose);margin:0 0 1.3rem}
h1{font-weight:normal;font-size:clamp(3.2rem,5.6vw,5.8rem);line-height:.95;letter-spacing:-.055em;max-width:7.5ch;margin:0 0 1.7rem}
h1 span{color:var(--rose)}
.lede{font-size:1.22rem;line-height:1.55;margin:0 0 2.5rem}.invitation{font-style:italic;max-width:18em;border-top:1px solid var(--line);padding-top:1rem;color:var(--green)}
.instrument{min-width:0;border:1px solid var(--ink);background:#f7f0de;box-shadow:5px 5px 0 #2738391c}
.topline{padding:.65rem 1rem;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem;font:.6rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em}
.registration{font-size:1rem;line-height:1}
.stage{height:310px;position:relative;isolation:isolate;overflow:hidden;background:#e4ddc8;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#2738390e calc(10% - 1px),#2738390e 10%);border-bottom:1px solid var(--ink)}
.stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:49px;background:repeating-linear-gradient(0deg,#a9a38f22 0,#a9a38f22 1px,transparent 1px,transparent 9px);border-top:1px solid #27383955;z-index:-1}
.page-datum{position:absolute;top:26px;bottom:25px;left:50%;width:0;border-left:1px dashed #a24b3f99;transform:translateX(-.5px);z-index:3;pointer-events:none}
.page-datum span{position:absolute;top:-22px;left:6px;font:.5rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;color:var(--rose)}
.room{width:218px;height:248px;position:absolute;left:calc(50% - 109px);top:30px;transform:translateX(var(--room-travel));border:2px solid var(--green);border-bottom:6px solid var(--green);background:#e5e5ca;box-shadow:3px 3px 0 #27383918}
.wall-paper{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 17px,#355e5111 17px,#355e5111 18px)}
.moon-window{position:absolute;width:57px;height:77px;left:14px;top:14px;border:3px solid var(--ink);border-radius:28px 28px 0 0;background:#49615b;box-shadow:inset 0 0 0 2px var(--gold)}
.moon{position:absolute;left:16px;top:9px;width:21px;height:21px;background:var(--paper);border-radius:50%;box-shadow:-6px 0 0 #49615b inset}
.moon-window span{position:absolute;top:38px;left:0;width:100%;color:#eee5cb;text-align:center;font:.4rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}
.ruler{position:absolute;right:12px;top:35px;width:109px;height:20px;background:var(--gold);border:1px solid #86682c;display:flex;justify-content:space-between;padding:7px 4px 0;font:.4rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 8px,#86682c 8px,#86682c 9px);background-size:100% 6px;background-repeat:no-repeat}
.bench{position:absolute;left:18px;right:18px;bottom:26px;height:10px;border:1px solid var(--ink);background:#a9844d;box-shadow:0 3px 0 #27383933}
.bench::before,.bench::after{content:"";position:absolute;top:9px;height:26px;width:6px;background:#6a644a}.bench::before{left:12px}.bench::after{right:12px}
.jar{position:absolute;left:49px;top:77px;width:120px;height:128px;border:2px solid #355e5170;border-top:0;border-radius:4px 4px 16px 16px;background:linear-gradient(90deg,#ffffff35,transparent 40%,#ffffff40);z-index:2}
.jar::before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;height:7px;border:2px solid #355e5170;border-radius:50%;background:#f7f0de4d}
.jar-label{position:absolute;top:90px;left:28px;transform:rotate(-4deg);background:#eee5cc;padding:1px 5px;border:1px solid #aaa182;font:.4rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}
.jimothy{position:absolute;left:39px;top:83px;width:140px;height:122px;overflow:visible}.fur{fill:#9b9b8c;stroke:var(--ink);stroke-width:2}.tail{fill:none;stroke:#969686;stroke-width:23;stroke-linecap:round}.tail-stripe{fill:none;stroke:var(--ink);stroke-width:8}.ear,.mask,.nose{fill:var(--ink)}.eye{fill:#f5edda}.mouth{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.paw{fill:#525b53}
.subject-point{position:absolute;top:111px;left:50%;width:0;height:0}
.nail{position:absolute;top:61px;left:50%;width:0;height:21px;border-left:2px solid var(--rose);transform:translateX(-1px);z-index:4}
.nail-head{position:absolute;top:-1px;left:-5px;width:8px;height:4px;background:var(--rose);border-radius:2px}
.nail-name{position:absolute;top:-4px;left:7px;color:var(--rose);font:.46rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}
.stage>.nail{top:91px}
.floor-label{position:absolute;left:0;bottom:8px;width:100%;text-align:center;font:.47rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em;color:#69716b}
.readings{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--ink)}
.readings>div{padding:1rem 1.1rem;min-width:0}.readings>div+div{border-left:1px solid var(--line)}
.reading-name{display:block;font:.55rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.02em}
output{display:block;font:2rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;color:var(--green)}
.readings>div+div output{color:var(--rose)}
.readings>div>span:last-child{display:block;max-width:24em;font-size:.7rem;line-height:1.45;color:var(--muted)}
.controls{padding:1rem 1.1rem 0}.travel-label{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}.units{color:var(--muted);font-size:.7rem}
input[type=range]{display:block;width:100%;margin:1rem 0 1.4rem;accent-color:var(--green);cursor:ew-resize;min-height:22px}
.buttons{display:flex;gap:.55rem;flex-wrap:wrap}.buttons button{font:.65rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;padding:.65rem .75rem;color:var(--ink);background:transparent;border:1px solid var(--ink);cursor:pointer;min-height:42px}.buttons button[aria-pressed=true]{background:var(--green);color:#f7f0de;box-shadow:2px 2px 0 #27383955}.buttons button:hover:not(:disabled){background:#dfb76155}.buttons button[aria-pressed=true]:hover{background:#284e42}.buttons button:disabled{opacity:.55;cursor:default}.buttons .reset{border-color:transparent;text-decoration:underline;text-underline-offset:.2em;margin-left:auto;color:var(--muted);padding-left:.2rem;padding-right:.2rem}
.state{font-size:.8rem;line-height:1.5;min-height:3.7em;margin:1rem 0 .7rem}.no-script{font-size:.85rem;border-top:1px solid var(--line);padding-top:1rem}
.margin-notes{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-top:3rem;border-top:1px solid var(--ink);padding-top:.4rem;font-size:.82rem;line-height:1.65}.note-number{color:var(--rose);font-style:italic;margin-right:.25rem}.raccoon-note{font-style:italic;color:var(--green)}
footer{grid-column:1/-1;border-top:1px solid var(--line);margin-top:1rem;padding-top:.65rem;display:flex;justify-content:space-between;gap:1.5rem;font:.55rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}footer p{max-width:42em}
@media(min-width:1440px){main{padding-top:4.8rem}.opening{padding-top:1rem}.instrument{margin-bottom:1rem}}
@media(max-width:900px){main{gap:1.2rem 2rem;padding:2.2rem 1.5rem 1rem}.masthead{padding:1rem 1.5rem}.opening{position:static}.eyebrow{font-size:.58rem}h1{font-size:4.4rem}.lede{font-size:1.05rem}.buttons .reset{margin-left:0}.margin-notes{gap:1.3rem;margin-top:1.5rem}}
@media(max-width:650px){main{display:block;padding:1.8rem 1.15rem 1rem}.masthead{padding:.8rem 1.15rem;font-size:.58rem;gap:.5rem}.imprint{max-width:12em;text-align:right}.opening{padding-bottom:.8rem}h1{max-width:none;font-size:3.7rem;letter-spacing:-.05em;margin-bottom:1.1rem}.eyebrow{max-width:none;letter-spacing:.08em;margin-bottom:1.1rem}.lede{font-size:1.15rem;margin-bottom:1.3rem}.invitation{max-width:none;margin-bottom:1rem}.margin-notes{display:block;margin-top:2rem}.margin-notes p{margin-bottom:1.2rem}.stage{height:310px}.instrument{box-shadow:3px 3px 0 #2738391c}.topline{font-size:.53rem;padding:.6rem .8rem}.readings>div{padding:.85rem .8rem}.reading-name{font-size:.47rem}output{font-size:1.65rem}.controls{padding:.9rem .8rem 0}.buttons{gap:.5rem}.buttons button{padding:.6rem .6rem;font-size:.59rem}.state{min-height:4.8em}.units{font-size:.59rem}footer{display:block;font-size:.55rem}footer p{max-width:none}}
@media(prefers-reduced-motion:no-preference){.moon{animation:moon-drift 9s ease-in-out infinite alternate}@keyframes moon-drift{to{transform:translateY(3px)}}}
@media print{.opening{position:static}.masthead,main{max-width:none}.instrument{box-shadow:none;break-inside:avoid}body{background:white}.buttons,input[type=range]{display:none}.moon{animation:none}}
