#landing #music-toggle{left:calc(50% - 22px)}#landing #about-toggle{left:calc(50% + 22px)}#about-toggle:focus-visible{outline:2px solid #f4f2ec;outline-offset:4px}@media(hover:hover)and (pointer:fine){#about-toggle:hover{background-color:#ffffff12}}#about-toggle:active{scale:.96}.colophon{box-sizing:border-box;width:min(480px,calc(100vw - 48px));max-height:calc(100svh - 48px);overflow:auto;margin:auto;padding:24px 8px;color:#f4f2ec;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center}.colophon::backdrop{background:#050705de;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.colophon h2{margin:0 0 28px;font:400 22px/1.4 Georgia,serif}.colophon p{margin:0 0 24px;font:18px/1.55 Georgia,serif;color:#e0e1d9;text-wrap:pretty}@media(max-width:600px){.colophon p{font-size:17px}}.colophon h2:focus{outline:none}.colophon .colophon-credits{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,18px);font-size:13px;color:var(--muted)}.colophon-credit{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.colophon-divider{flex:none;width:1px;height:16px;background:#f4f2ec33}.colophon-credits .image-source:focus-visible{color:#f4f2ec}@media(hover:hover)and (pointer:fine){.colophon-credits .image-source:hover{color:#f4f2ec}}#landing #music-toggle{left:calc(50% - 44px)}#landing #saved-toggle{left:50%}#landing #about-toggle{left:calc(50% + 44px)}#saved-toggle:active,#textile-save:active{scale:.96}#saved-toggle svg,#textile-save svg{fill:currentColor;stroke:none}#textile-save[aria-pressed=true] svg,#saved-toggle[aria-pressed=true] svg{color:#df3038}#saved-toggle,#textile-save{-webkit-tap-highlight-color:transparent}#saved-toggle:focus-visible,#textile-save:focus-visible{box-shadow:0 0 0 2px #f4f2ec}#textile-save{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin:0;flex:0 0 32px;border:0;border-radius:999px;color:#f4f2ece6;background:var(--glass-surface);backdrop-filter:blur(12px) saturate(1);-webkit-backdrop-filter:blur(12px) saturate(1);box-shadow:inset 0 1px #fff3,0 4px 16px #0003;cursor:pointer}#textile-save:before{content:"";position:absolute;inset:-6px}@media(hover:hover)and (pointer:fine){#saved-toggle:hover,#textile-save:hover{background-color:#ffffff12}}.saved-canvas-empty{position:absolute;left:50%;top:50%;translate:-50% -50%;width:min(320px,80vw);margin:0;color:var(--muted);font:14px/1.6 Arial,sans-serif;text-align:center;pointer-events:none}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.project-title-row .project-title{flex:1;min-width:0}#search-discovery{position:fixed;inset:auto;box-sizing:border-box;margin:0;padding:18px;border:0;border-radius:22px;background:#1d1e1b;color:#f4f2ec;box-shadow:inset 0 1px #ffffff20,0 12px 50px #0007;overflow:auto;overscroll-behavior:contain;font:13px/20px Arial,Helvetica,sans-serif}#search-discovery:popover-open{animation:picker-enter .18s cubic-bezier(.22,1,.36,1)}#search-discovery h2{margin:0 0 10px;font:inherit;color:#f4f2ec99}.search-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.search-suggestion{min-height:40px;padding:8px 12px;border:0;border-radius:999px;background:#ffffff0d;color:inherit;font:inherit;cursor:pointer;transition:background-color .15s ease,scale .15s ease-out}.search-recent{display:grid;gap:4px}.search-recent-item{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:background-color .15s ease,scale .15s ease-out}.search-recent-item img{width:48px;height:48px;object-fit:contain;flex:none}.search-recent-item>span{min-width:0}.search-recent-meta{display:block;color:#f4f2ec99;font-size:12px}.search-recent-empty{margin:0;padding:8px 0;color:#f4f2ec99}#search-discovery button:focus-visible{outline:2px solid #f4f2ec;outline-offset:2px}#search-discovery button:active{scale:1}@media(hover:hover){#search-discovery .search-suggestion:hover{background:#ffffff16}}@media(prefers-reduced-motion:reduce){#search-discovery:popover-open{animation:none}#search-discovery button{transition:none}}#search-surface{position:fixed;inset:auto;margin:0;padding:0;border:0;border-radius:22px;box-sizing:border-box;overflow:hidden;background:#1d1e1b;color:#f4f2ec;box-shadow:inset 0 1px #ffffff20,0 12px 50px #0007}#search-surface>#search-discovery,#search-surface>#color-picker{position:relative;inset:auto;margin:0;width:100%;height:auto;max-height:none;padding:18px;box-sizing:border-box;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:auto;animation:none}#search-surface>[hidden]{display:none!important}#search-surface>#color-picker{padding:12px}#search-surface .color-plane{height:clamp(130px,22vh,220px);min-height:100px}.search-suggestions{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:3px 0;touch-action:pan-x;cursor:grab;-webkit-user-select:none;user-select:none}.search-suggestions::-webkit-scrollbar{display:none}.search-suggestions .search-suggestion{flex:none;white-space:nowrap;cursor:inherit}.search-suggestions.is-dragging{cursor:grabbing}.search-recent{display:flex;gap:12px;overflow-x:auto;padding:4px 0;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;cursor:grab;-webkit-user-select:none;user-select:none}.search-recent::-webkit-scrollbar{display:none}.search-recent.is-dragging{cursor:grabbing}.search-recent-item{flex:0 0 104px;width:104px;height:128px;min-height:0;padding:0;border-radius:8px;overflow:hidden;cursor:inherit}.search-recent-item img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.search-recent-empty{flex:1}.search-dim{position:absolute;inset:0;z-index:3;background:#0000007a;opacity:0;pointer-events:none;transition:opacity .2s ease-out}html.is-search-open .search-dim{opacity:1;pointer-events:auto}#search-form{z-index:4}@media(prefers-reduced-motion:reduce){.search-dim{transition:none}}#search-surface>.search-surface-view{position:absolute!important;top:0!important;left:0!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .2s ease-out,transform .3s cubic-bezier(.22,1,.36,1),visibility .2s}#search-surface>.search-surface-view.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}@media(prefers-reduced-motion:reduce){#search-surface>.search-surface-view{transition:none;transform:none}}.search-recent-item{position:relative}.search-recent-item:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#000;opacity:0;pointer-events:none;transition:opacity .16s ease-out}@media(hover:hover)and (pointer:fine){.search-recent:not(.is-dragging) .search-recent-item:hover:after{opacity:.35}}@media(prefers-reduced-motion:reduce){.search-recent-item:after{transition:none}}.color-swatches{position:relative;display:flex;justify-content:space-between;gap:2px;padding:4px 0;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.color-swatches::-webkit-scrollbar{display:none}.color-swatch{flex:0 0 40px;display:grid;place-items:center;min-width:0;height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.color-swatch-dot{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff29;transition:scale .15s ease-out,opacity .16s ease-out}.color-swatch:focus-visible{outline:1px dashed #f4f2ec;outline-offset:-1px}.color-swatch:active .color-swatch-dot{scale:.96}.color-swatches-status{margin:12px 4px 4px;font:13px/20px Arial,Helvetica,sans-serif;color:#f4f2ecb3}@media(prefers-reduced-motion:reduce){.color-swatch-dot{transition:none}}@media(hover:hover)and (pointer:fine){.color-swatch:hover .color-swatch-dot{opacity:.65}}.color-swatches{touch-action:pan-x}.color-swatches{width:100%;min-width:0;box-sizing:border-box;cursor:grab;-webkit-user-select:none;user-select:none}.color-swatch{cursor:inherit}.color-swatches{cursor:default}.color-swatches.is-scrollable{cursor:grab}.color-swatches.is-dragging{cursor:grabbing}.color-swatch{cursor:pointer}.color-swatches.is-scrollable .color-swatch{cursor:inherit}@media(min-width:600px){.color-swatches{overflow-x:hidden;gap:0;-webkit-mask-image:none;mask-image:none;touch-action:auto}.color-swatch{flex:1 1 0}}#color-filter-clear:before{box-shadow:inset 0 0 0 1px #ffffff29}
