html:has(cursor-sandcastle),html[data-theme=light]:has(cursor-sandcastle){--color-fill:238, 222, 188;--color-text-base:71, 53, 36;--color-accent:18, 110, 130;--color-card:220, 199, 158;--color-card-muted:205, 181, 137;--color-border:180, 150, 104;--sandcastle-deep:#1d6f93}html[data-theme=dark]:has(cursor-sandcastle){--color-fill:96, 76, 60;--color-text-base:252, 234, 206;--color-accent:250, 182, 120;--color-card:116, 92, 72;--color-card-muted:128, 102, 80;--color-border:150, 120, 94;--sandcastle-deep:#0b2138}html.sandcastle-ready{background:var(--sandcastle-deep)}html.sandcastle-ready body{background:0 0;position:relative}.sandcastle-backdrop{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sandcastle-canvas{will-change:transform;display:block;position:absolute;top:0;left:0}html.sandcastle-ready :is(body>header,body>footer,#main-content~*){color:#fdfbf3}html.sandcastle-ready body>header svg{fill:currentColor}html.sandcastle-ready #nav-menu{background:0 0}@media (width<=639px){html.sandcastle-ready #menu-items{background:rgb(var(--color-fill));color:rgb(var(--color-text-base));border-radius:24px;padding:1rem 0}}html[data-theme=dark].sandcastle-ready :is(body>header,body>footer){color:rgb(var(--color-text-base))}html.sandcastle-building.sandcastle-ready body{user-select:none}html.sandcastle-building.sandcastle-ready #main-content :where(*):not(a,a *,button,button *,input,textarea,select),html.sandcastle-building.sandcastle-ready #main-content{cursor:crosshair}@media (pointer:coarse){html.sandcastle-building.sandcastle-ready body{touch-action:none}}cursor-sandcastle{display:block}.sandcastle-controls{z-index:45;border:1px solid rgba(var(--color-accent), .24);width:48px;color:rgb(var(--color-text-base));background:rgba(var(--color-fill), .78);backdrop-filter:blur(10px)saturate(1.18);border-radius:999px;flex-direction:column;align-items:center;gap:5px;margin:0;padding:5px;display:flex;position:fixed;top:50%;right:clamp(10px,2vw,24px);transform:translateY(-50%);box-shadow:0 10px 28px #0510261f,inset 0 1px #ffffff30}.sandcastle-group{flex-direction:column;align-items:center;gap:3px;display:flex}.sandcastle-group+.sandcastle-group{border-top:1px solid rgba(var(--color-accent), .18);padding-top:5px}.sandcastle-controls button{width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin:0;padding:4px;transition:transform .14s,background-color .16s;display:grid}.sandcastle-controls button:hover:not(:disabled){background:rgba(var(--color-card), .58);transform:scale(1.08)}.sandcastle-controls button:active:not(:disabled){transform:scale(.92)}.sandcastle-controls button[aria-pressed=true]{background:rgba(var(--color-card), .9);box-shadow:inset 0 1px 3px #62442133}.sandcastle-controls button:focus-visible{outline:2px dashed rgb(var(--color-accent));outline-offset:3px}.sandcastle-controls button:disabled{opacity:.45;cursor:default}.sandcastle-controls svg{width:28px;height:28px;overflow:visible}.sandcastle-controls svg[viewBox="0 0 24 24"]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}[data-action=build][aria-pressed=false] svg{filter:grayscale();opacity:.55}.sandcastle-controls button[hidden]{display:none}.sandcastle-controls [data-new]{animation:.7s cubic-bezier(.3,1.6,.5,1) sandcastle-found,1.6s ease-in-out .7s infinite sandcastle-pulse}@keyframes sandcastle-found{0%{transform:scale(.2)rotate(-30deg)}}@keyframes sandcastle-pulse{50%{box-shadow:0 0 0 6px rgba(var(--color-accent), .35)}}.sandcastle-find{z-index:2000;pointer-events:none;width:0;height:0;position:fixed}.sandcastle-find p{color:#111;white-space:nowrap;background:#f4f4f0;border-radius:999px;margin:0;padding:.35rem .8rem;font-size:1rem;font-weight:650;animation:4.2s ease-in-out both sandcastle-find-note;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}@keyframes sandcastle-find-note{0%{opacity:0;transform:translate(-50%,12px)scale(.8)}12%,82%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-8px)scale(1)}}@media (prefers-reduced-motion:reduce){.sandcastle-controls [data-new],.sandcastle-find p{animation:none}}[data-size] i{--dot:12px;width:var(--dot);height:var(--dot);opacity:.75;background:currentColor;border-radius:50%;transition:width .14s,height .14s}[data-size="0"] i{--dot:7px}[data-size="2"] i{--dot:18px}@media (height<=620px){.sandcastle-controls{gap:3px;width:42px}.sandcastle-controls button{width:32px;height:32px}.sandcastle-controls svg{width:24px;height:24px}}@media (width<=520px){.sandcastle-controls{top:auto;right:50%;bottom:max(12px, env(safe-area-inset-bottom));border-radius:28px;flex-direction:row;width:auto;transform:translate(50%)}.sandcastle-group{flex-direction:row}.sandcastle-group+.sandcastle-group{border-top:0;border-left:1px solid rgba(var(--color-accent), .18);padding-top:0;padding-left:5px}.sandcastle-controls button{border-radius:14px;width:34px;height:44px}.sandcastle-controls svg{width:26px;height:26px}}@media (width<=400px){.sandcastle-controls{flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100vw - 16px)}.sandcastle-group:last-child{border-left:0;flex-basis:100%;justify-content:center;padding-left:0}}@media print{.sandcastle-backdrop,.sandcastle-controls{display:none}}
