.sandbox-section .construction-stage{isolation:isolate;background:var(--paper);padding:clamp(1.25rem,3vh,2.25rem) var(--page-gutter) clamp(1rem,2.5vh,1.6rem);height:calc(100svh - var(--header-height));grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.5rem;min-height:600px;display:grid;position:relative;overflow:clip}.construction-title{z-index:2;text-align:center;width:max-content;max-width:100%;font:var(--weight-display) clamp(2.6rem,5.2vw,5.6rem)/1.06 var(--font-sans);letter-spacing:-.04em;pointer-events:none;margin:0 auto;position:relative}.construction-title span{color:var(--orange)}.construction-playground{z-index:1;width:100%;height:100%;min-height:280px;position:relative;overflow:hidden}.construction-video,.construction-bricks-fallback,.construction-canvas,.construction-handles{width:100%;max-width:none;height:100%;position:absolute;inset:0}.construction-video,.construction-bricks-fallback{object-fit:contain}.construction-video{z-index:0}.construction-assembly{visibility:hidden;pointer-events:none}.construction-stage[data-video-ready] .construction-assembly{visibility:visible}.construction-stage[data-video-ready] .construction-poster{visibility:hidden}.construction-bricks-fallback,.construction-canvas{z-index:1;pointer-events:none}.construction-handles{z-index:3;pointer-events:none}.construction-handle{pointer-events:auto;touch-action:none;cursor:grab;background:0 0;border:0;border-radius:2px;min-width:44px;min-height:44px;position:absolute;top:0;left:0}.construction-handle:disabled{display:none}.construction-handle:active{cursor:grabbing}.construction-handle:focus,.construction-handle:focus-visible{box-shadow:none;outline:none}.construction-controls{z-index:4;font-size:var(--font-help-size);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex;position:relative}.construction-controls p{max-width:46ch;margin:0}.construction-controls #construction-help{font-size:var(--font-help-size);margin:0;line-height:1.45}.construction-guidance{min-width:0;color:var(--muted);flex:1}.construction-help-details{max-width:46ch;margin-top:.25rem}.construction-help-details summary{cursor:pointer;text-underline-offset:4px;width:fit-content;min-height:44px;padding:.6rem 0;text-decoration:underline}.construction-help-details p{padding:0 0 .5rem;line-height:1.6}.construction-controls button{background:0 0;border:0;min-height:44px;padding:.5rem 0}.construction-controls button:disabled{display:none}.construction-brick-tools{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.construction-brick-tools[hidden]{display:none}.construction-brick-tools button{font-size:var(--font-help-size);text-underline-offset:4px;white-space:nowrap;text-decoration:underline}.construction-handle[data-held=true]{cursor:grabbing}.construction-stage[data-bricks-ready] .construction-controls{row-gap:.4rem}.construction-stage[data-bricks-ready] .construction-bricks-fallback{visibility:hidden}@media (width<=900px){.sandbox-section .construction-stage{height:auto;min-height:0;padding:clamp(3.25rem,7vw,5rem) var(--page-gutter);grid-template-columns:minmax(0,1fr);gap:1.25rem}.construction-title{font-size:clamp(2.5rem,8vw,4.5rem)}.construction-playground{aspect-ratio:16/10;height:auto;min-height:260px}.construction-video,.construction-bricks-fallback{object-fit:contain;transform:none}.construction-controls{gap:.5rem 1rem}.construction-guidance{flex-basis:100%}.construction-controls>p{flex-basis:100%;max-width:none}}@media (width<=520px){.sandbox-section .construction-stage{height:auto;min-height:0}.construction-title{font-size:clamp(2.2rem,10.5vw,3.4rem)}.construction-playground{aspect-ratio:4/3;min-height:230px}.construction-video,.construction-bricks-fallback{transform:none}.construction-controls{font-size:var(--font-help-size)}.construction-controls>p{max-width:none}}.ticket-mobile-frame{display:contents}@media (width<=900px) and (height>=501px) and (prefers-reduced-motion:no-preference){.ticket-section[data-ticket-mobile-motion]{height:200svh!important}.ticket-section[data-ticket-mobile-motion] .ticket-stage{top:var(--header-height);height:calc(100svh - var(--header-height));justify-content:center;gap:clamp(.75rem,2svh,1.5rem);min-height:0;padding-block:clamp(1rem,3svh,2rem);position:sticky}.ticket-section[data-ticket-mobile-motion] .ticket-heading{align-self:stretch}.ticket-section[data-ticket-mobile-motion] .ticket-heading h2{font-size:clamp(2.25rem,8vw,4rem)}.ticket-section[data-ticket-mobile-motion] .ticket-heading p:last-child{margin-top:.6rem;font-size:1rem}.ticket-section[data-ticket-mobile-motion] .project-ticket{width:min(100%,680px);transform:none}.ticket-section[data-ticket-mobile-motion] .ticket-mobile-frame{align-items:center;height:clamp(200px,46svh,460px);display:grid}.ticket-section[data-ticket-mobile-motion] .ticket-paper{transform-origin:50%;will-change:transform;width:100%}.ticket-section[data-ticket-mobile-motion] .ticket-help{margin:.75rem 0 0;font-size:.875rem}}.letter-scene{isolation:isolate;perspective:1200px;flex-direction:column;align-items:center;min-width:0;display:flex}.contact-envelope,.envelope-rear{aspect-ratio:5/3;width:min(100%,620px);margin-inline:auto;position:absolute;bottom:5.5rem;left:0;right:0}.envelope-rear{z-index:1}.contact-envelope{z-index:3;pointer-events:none}.envelope-face{background:#fff;position:absolute;inset:0;box-shadow:0 9px 24px #11111117}.envelope-handwriting{width:57.2%;height:auto;position:absolute;top:54.6%;left:18.3%}.envelope-stamp-light{z-index:0;aspect-ratio:620/730;border-radius:2px;width:19%;position:absolute;top:4%;right:3.9%;overflow:hidden}.envelope-stamp-light canvas{opacity:.58;width:100%;height:100%}.envelope-stamp{filter:drop-shadow(0 2px 3px #00000028);width:19%;height:auto;position:absolute;top:4%;right:3.9%}.envelope-lid{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;background:#fafafa;border-top:1px solid #eee;position:absolute;inset:0 0 44%;transform:rotateX(180deg)}.letter-scene .contact-sheet{z-index:2;transform-origin:top;width:min(88%,540px);min-height:540px;margin-bottom:clamp(220px,34vw,350px)}.contact-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.contact-privacy{font-size:var(--font-help-size);margin:0;line-height:1.5}.letter-scene>.form-status{z-index:5;width:100%;max-width:48ch;min-height:3em;margin-top:2rem;position:relative}.contact-submit{min-height:48px}.letter-confirmation{z-index:5;text-align:center;padding:2rem 1rem;position:absolute;inset:0 0 auto}.letter-confirmation[hidden]{display:none}.letter-confirmation>p{font-family:var(--font-sans);letter-spacing:-.04em;margin:0 0 1.5rem;font-size:clamp(2rem,4vw,3.8rem);font-style:normal;font-weight:600;line-height:1.1}.letter-confirmation button{background:0 0;border:0;border-bottom:1px solid;min-height:44px}.letter-scene[data-state=success] .contact-sheet{animation:1.1s ease-in-out forwards letter-post}.letter-scene[data-state=success] .envelope-lid{animation:.6s ease-in-out 1.1s both envelope-close}@keyframes letter-post{0%{clip-path:inset(0);transform:translateY(0)scale(1)}to{transform:translateY(var(--letter-travel)) scale(.9);clip-path:inset(0 0 max(0px, calc(100% - var(--letter-visible-height))) 0);visibility:hidden}}@keyframes envelope-close{0%{transform:rotateX(180deg)}to{transform:rotateX(360deg)}}@media (width<=900px){.letter-scene .contact-sheet{width:min(90%,540px);margin-bottom:clamp(200px,44vw,320px)}}@media (width<=620px){.letter-scene .contact-sheet{width:min(92%,540px);min-height:520px;margin-bottom:clamp(170px,50vw,250px);padding:1.4rem}}@media (prefers-reduced-motion:reduce){.letter-scene[data-state=success] .contact-sheet{visibility:hidden;animation:none}.letter-scene[data-state=success] .envelope-lid{animation:none;transform:rotateX(360deg)}}
