body{touch-action:manipulation;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-color:#000;margin:0;overflow:hidden}canvas{width:100%;height:100%;display:block}.attribution{bottom:max(8px, env(safe-area-inset-bottom));right:max(10px, env(safe-area-inset-right));color:#fff6;cursor:pointer;z-index:10;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:12px;transition:color .3s;display:flex;position:fixed}.attribution:hover{color:#ffffffb3}.attribution summary{cursor:pointer;font-size:14px;list-style:none}.attribution summary::-webkit-details-marker{display:none}.attribution-content{color:#fffc;-webkit-backdrop-filter:blur(8px);background:#000c;border-radius:4px;max-width:280px;padding:8px 10px;font-size:10px;line-height:1.4;position:absolute;bottom:24px;right:0}.attribution-content a{color:#fff9;text-decoration:underline}.ui-controls{bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:10;opacity:.4;align-items:center;gap:8px;transition:opacity .4s;display:flex;position:fixed}.ui-controls:hover{opacity:.9}.ui-seed{color:#ffffffb3;cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.05em;-webkit-backdrop-filter:blur(4px);background:#0000004d;border-radius:4px;align-items:center;min-height:44px;padding:4px 10px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;transition:background .2s;display:flex}.ui-seed:hover{background:#00000080}.ui-regen{color:#ffffffb3;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#0000004d;border:none;border-radius:4px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:background .2s;display:flex}.ui-regen:hover{background:#00000080}.loading-overlay{z-index:100;background:#000;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0}.loading-overlay.fade-out{opacity:0;pointer-events:none}.loading-text{color:#fff6;letter-spacing:.1em;font-family:SF Mono,Fira Code,monospace;font-size:14px}