:root{--ink:#352c27;--muted:#71665c;--accent:#896323;--line:#e9e0d5;--paper:#fcf9f5;--supported:#d8b66a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit}button,input{font:inherit}button{cursor:pointer;background:var(--ink);color:#fff;border:1px solid #0000;min-height:46px;padding:.75rem 1.2rem;font-weight:600}button:hover,.primary-button:hover{background:#574437}button:focus-visible,input:focus-visible,a:focus-visible,.drawing:focus-visible{outline-offset:3px;outline:3px solid #a77c34}input:not([type=checkbox]){width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #d8ccbe;padding:.7rem .85rem}input::placeholder{color:#83786c}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;min-height:82px;padding:0 max(4vw,50vw - 750px);display:flex}.brand{letter-spacing:-.065em;white-space:nowrap;font-family:Georgia,serif;font-size:1.65rem;text-decoration:none}.brand span:not(.brand-dot){font-style:italic}.brand-dot{color:#ae884a}.header nav{align-items:center;gap:clamp(1rem,2.5vw,2.8rem);font-size:.82rem;display:flex}.nav-link,.account-link{white-space:nowrap;text-decoration:none}.nav-link:hover,.account-link:hover{color:var(--accent)}.account-link{border-bottom:1px solid #c3a36d;padding:.5rem 0}.account-link span{color:var(--accent);margin-left:.5rem}.signout{min-height:40px;color:var(--ink);font-size:inherit;background:0 0;padding:.3rem}.signout:hover{color:var(--accent);background:0 0}.wrap{max-width:1600px;margin:auto;padding:0 4vw 3rem}.notice{color:#76551e;font-size:.9rem}.hero{grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);align-items:center;gap:2vw;min-height:620px;padding:4rem 0 3rem;display:grid}.hero-copy{max-width:450px;padding:0 0 3rem 3vw}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:700}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}.hero h1{letter-spacing:-.055em;margin:1.6rem 0;font-size:clamp(3rem,4.4vw,5rem);line-height:1.03}.hero h1 em{color:#a17a3f;font-weight:400;display:block}.hero-description{max-width:320px;color:var(--muted);font-size:1rem;line-height:1.8}.primary-button{background:var(--ink);color:#fff;align-items:center;gap:2.5rem;margin-top:1.3rem;padding:1rem 1.2rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.primary-button span{color:#e5c891}.viewer-layout,.viewer-canvas{min-width:0;position:relative}.drawing{aspect-ratio:1000/667;touch-action:pan-x pan-y;background:0 0;overflow:auto}.drawing svg{cursor:grab;-webkit-user-select:none;user-select:none;max-width:none;height:auto;display:block}.drawing.is-dragging svg{cursor:grabbing}.zoom-controls{border:1px solid var(--line);background:#fff;display:flex;position:absolute;bottom:1rem;right:1rem}.zoom-controls button{width:42px;min-height:42px;color:var(--ink);background:#fff;padding:0;font-size:1.2rem;font-weight:400}.zoom-controls button+button{border-left:1px solid var(--line)}.zoom-controls button:hover{background:#f5efe7}.show-details{min-height:44px;color:var(--ink);border:1px solid var(--line);background:#fff;padding:.6rem .85rem;font-size:.8rem;position:absolute;top:1rem;right:1rem}.viewer-sidebar{justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.search{width:min(310px,100%);position:relative}.search label,.selection label,.login label{margin-bottom:.4rem;font-size:.75rem;font-weight:650;display:block}.search input{background:0 0;border:0;border-bottom:1px solid #cfc2b2;padding-left:0}.results{z-index:3;background:#fff;max-height:230px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 8px 30px #352c271a}.results button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;padding:.7rem .8rem;font-weight:400;display:block}.results button:hover{background:#f8f3ed}.results p{color:var(--muted);margin:.75rem;font-size:.85rem}.legend{color:var(--muted);flex-wrap:wrap;gap:.5rem 1rem;font-size:.72rem;display:flex}.legend span{align-items:center;gap:.4rem;display:inline-flex}.legend i{border-radius:50%;width:.6rem;height:.6rem}.free{background:#a95e3c}.reserved{background:#888e88}.named{background:#bb9250}.selection{z-index:4;border:1px solid var(--line);background:#fff;width:min(340px,100% - 2rem);max-height:calc(100% - 2rem);padding:1.6rem;position:absolute;top:1rem;right:1rem;overflow:auto;box-shadow:0 12px 40px #352c2720}.selection h3{margin:.4rem 2rem .8rem 0;font-size:1.7rem}.selection p{margin:.5rem 0}.selection form{margin-top:1.3rem}.selection form>button{width:100%;margin-top:.5rem}.selection .checkbox{align-items:flex-start;gap:.6rem;margin:1rem 0;font-size:.8rem;font-weight:400;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:.1rem 0 0}.small{color:var(--muted);font-size:.8rem}.close{min-width:40px;min-height:40px;color:var(--muted);background:0 0;padding:0;font-size:1.5rem;font-weight:400;position:absolute;top:.8rem;right:.8rem}.close:hover{color:var(--ink);background:#f8f3ed}.steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.steps>div{align-items:center;gap:1rem;padding:1.7rem 2vw;font-family:Georgia,serif;font-size:1.05rem;display:flex}.steps>div+div{border-left:1px solid var(--line)}.step-icon{color:#ad874f;font-family:Georgia,serif;font-size:2rem;line-height:1}.demo-note{color:var(--muted);margin:1.5rem 0;font-size:.75rem}.login{border-top:1px solid var(--line);max-width:640px;margin-top:3rem;padding-top:1.5rem}.login h2{margin:0;font-size:2rem}.login p{color:var(--muted)}.login form>div{gap:.6rem;display:flex}.login form input{min-width:0}.login form button{white-space:nowrap}.wrap>h1{font-size:clamp(2rem,4vw,3.5rem)}.wrap>ul{max-width:650px;padding:0;list-style:none}.wrap>ul li{border-bottom:1px solid var(--line);padding:1rem 0}@media (max-width:900px){.header{flex-wrap:wrap;gap:.5rem 1rem;padding-top:1rem;padding-bottom:1rem}.header nav{gap:1rem}.hero{grid-template-columns:1fr;min-height:0;padding:3rem 0}.hero-copy{max-width:680px;padding:0}.hero h1{font-size:clamp(3rem,8vw,5rem)}.hero h1 em{display:inline}.hero-description{max-width:470px}}@media (max-width:600px){.header{padding:.8rem 1rem}.brand{font-size:1.4rem}.header nav{gap:1.2rem;width:100%;font-size:.75rem;overflow-x:auto}.header nav .account-link{margin-left:auto}.wrap{padding:0 1rem 2rem}.hero{gap:1.8rem;padding:2rem 0}.hero h1{margin:1rem 0;font-size:3rem}.hero-description{font-size:.9rem;line-height:1.6}.primary-button{margin-top:.6rem}.viewer-sidebar{flex-direction:column;align-items:flex-start}.search{width:100%}.selection{order:2;width:100%;max-height:none;position:relative;top:auto;right:auto}.legend{order:1}.steps{grid-template-columns:1fr}.steps>div{padding:.9rem .3rem}.steps>div+div{border-left:0;border-top:1px solid var(--line)}.login form>div{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.drawing{touch-action:pan-y pinch-zoom;overflow:hidden}.drawing.is-zoomed{touch-action:none}.touch-hint{display:none}@media (max-width:700px) and (pointer:coarse){.touch-hint{color:var(--muted);font-size:.75rem;display:block}}.drawing svg{width:100%;height:100%}.brick{cursor:pointer;transition:stroke .18s,stroke-width .18s}.brick:focus{outline:none}.brick:hover,.brick:focus-visible{stroke:#e8c77f;stroke-width:.6px}.brick:focus-visible{stroke:#fff0b8;stroke-width:1px}.zoom-controls .reset-view{width:auto;padding:0 .8rem;font-size:.72rem}.selection{animation:.22s ease-out selection-enter}@keyframes selection-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.selection{animation:none}.brick{transition:none}}.viewer-layout{container-type:inline-size}@container (max-width:700px){.selection{order:2;width:100%;max-height:none;position:relative;top:auto;right:auto}.viewer-sidebar{flex-wrap:wrap}}@container (min-width:701px){.show-details{display:none}}.selection{transition:opacity .22s ease, transform .22s ease, display .22s allow-discrete}.selection.is-closed{opacity:0;display:none;transform:translateY(6px)}@media (prefers-reduced-motion:reduce){.selection{transition:none}}.search.is-open{z-index:6}.results button[aria-selected=true]{color:#654619;background:#f5efe7}.brick[stroke=\#e8ba56]{stroke:#e8ba56;stroke-width:1.5px}.login .login-success{color:#315f43;background:#edf5ed;border-left:3px solid #6e9a76;padding:.75rem 1rem}.account-page{max-width:1140px;padding-top:clamp(3rem,7vw,6rem);padding-bottom:5rem}.account-heading{max-width:630px;margin-bottom:clamp(2.5rem,5vw,4rem)}.account-heading h1{letter-spacing:-.055em;margin:.8rem 0;font-size:clamp(3.2rem,6vw,5rem);line-height:1.05}.account-page .account-heading h1 span{color:#a17a3f}.account-heading>p:last-child,.account-empty>p:not(.eyebrow){color:var(--muted);line-height:1.8}.account-message{color:var(--ink);background:#f5eee4;border-left:3px solid #a17a3f;margin:0 0 1.5rem;padding:1rem 1.2rem}.account-message p{margin:0 0 .75rem}.account-list-heading{border-bottom:1px solid #d9cbbb;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.account-list-heading h2{margin:0 0 1rem;font-size:1.8rem}.account-page div.account-list-heading>span{color:var(--muted);font-size:.8rem}.account-bricks{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.account-brick,.account-empty{border:1px solid var(--line);background:#fffdfa;padding:clamp(1.3rem,3vw,2rem)}.account-brick-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.account-brick-top .eyebrow{margin:0 0 .4rem}.account-brick h3{overflow-wrap:anywhere;margin:0;font-size:1.85rem}.account-legacy{color:var(--muted);margin:.15rem 0 0;font-size:.75rem}.account-status{color:#5e5851;background:#eeeae4;flex-shrink:0;max-width:55%;padding:.4rem .65rem;font-size:.72rem;font-weight:650;line-height:1.3}.account-status.is-paid{color:#74551c;background:#f2ead8}.account-status.is-review{color:#86462d;background:#f7e9df}.account-status.is-expired{color:#5e5851;background:#f0eeeb}.account-details{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 0;padding-top:1.2rem;display:grid}.account-details dt{color:var(--muted);margin-bottom:.3rem;font-size:.73rem}.account-details dd{overflow-wrap:anywhere;margin:0;font-size:.95rem}.account-explanation,.reservation-countdown{color:var(--muted);font-size:.85rem;line-height:1.6}.reservation-controls{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;display:flex}.reservation-countdown{flex-basis:100%;margin:0 0 .3rem}.reservation-countdown strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650}.reservation-controls form{margin:0}.reservation-controls form button{font-size:.8rem}.account-secondary{color:var(--ink);background:0 0;border-color:#cfc2b2}.account-secondary:hover{background:#f7f1e9}.account-empty{max-width:720px;padding:clamp(2rem,5vw,3rem)}.account-empty h2{margin:.8rem 0;font-size:clamp(2rem,4vw,2.8rem);line-height:1.15}.account-footnote{color:var(--muted);margin-top:3rem;font-size:.75rem}@media (max-width:700px){.account-bricks{grid-template-columns:1fr}.account-page{padding-top:3rem}}@media (max-width:400px){.account-brick-top{flex-direction:column}.account-status{max-width:100%}.account-details{grid-template-columns:1fr}.reservation-controls form,.reservation-controls form button{width:100%}}.account-name-settings{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.1rem}.account-name-settings summary{cursor:pointer;color:var(--accent);font-size:.85rem;font-weight:650}.account-name-settings summary:focus-visible{outline-offset:3px;outline:3px solid #a77c34}.account-name-settings p{color:var(--muted);font-size:.8rem;line-height:1.6}.account-name-settings form{margin-top:1rem}.account-name-settings label:not(.account-consent){margin-bottom:.4rem;font-size:.8rem;font-weight:650;display:block}.account-name-settings form button{font-size:.8rem}.account-name-settings .account-consent{align-items:flex-start;gap:.6rem;margin:.8rem 0;font-size:.8rem;line-height:1.5;display:flex}.account-name-settings .account-consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:.15rem 0 0}
